VS Code Server 远程界面汉化需手动创建正确路径的 locale.json 文件,内容为 {"locale":"zh-cn"},路径为 ~/.vscode-server/data/Machine/locale.json(1.85+)或 ~/.vscode-remote/data/Machine/locale.json(旧版),保存后下次连接自动生效。

远程界面仍是英文,不是插件没装好,而是 VS Code Server 根本没读到 locale 配置。 它不看本地语言设置,也不同步你的中文语言包,只认远程机器上那个 locale.json 文件——路径、内容、权限,错一个就回退英文。
远程汉化必须手动写 locale.json
VS Code Server 启动时只扫描固定路径下的 locale.json,不会继承本地设置,也不会从插件自动加载语言资源。
- 路径必须是
~/.vscode-server/data/Machine/locale.json(VS Code 1.85+)或~/.vscode-remote/data/Machine/locale.json(旧版),不能放在~/.vscode或其他任意位置 - 内容必须严格为
{"locale":"zh-cn"},不能是zh_CN、zh-hans、"zh-cn "(尾部空格)或带注释的 JSON - 文件权限无特殊要求,但父目录(如
~/.vscode-server/data/Machine)需存在且可写;若目录不存在,需手动创建 - 改完保存即可,无需重启服务或重连——下次 SSH 连接时自动生效
别指望本地中文包同步到远程
Remote-SSH 不会把本地已安装的 ms-ceintl.vscode-language-pack-zh-hans 插件复制过去。远程 Server 内置了语言资源,但只有 locale.json 触发才会加载。
- 验证是否生效:连接后按
Ctrl+Shift+P,输入Developer: Show Running Extensions,检查远程环境里是否有ms-ceintl.vscode-language-pack-zh-hans且状态为Activated - 如果没激活,大概率是
locale.json路径错误或 JSON 解析失败(比如用了中文引号或多了逗号) - 临时调试可用命令强制注册:
code --install-extension MS-CEINTL.vscode-language-pack-zh-hans --force,但仅用于排查,非长期方案
常见卡点:WSL、非标准 home 目录、VSCODE_LOCALE 干扰
很多人在 WSL 或容器中部署时,~ 指向的不是预期路径;还有人设置了环境变量覆盖了 locale 读取逻辑。
- 先确认当前用户真实 home 路径:
echo $HOME,再检查$HOME/.vscode-server/data/Machine/locale.json是否存在 - 检查是否误设了
VSCODE_LOCALE环境变量(例如在~/.bashrc或/etc/environment中),它会优先于locale.json生效,且值非法时直接 fallback 英文 - 云服务器或 Docker 容器中,若挂载了自定义
.vscode-server路径,需确保该路径下对应子目录结构完整,否则 Server 初始化静默失败
最常被忽略的是路径版本差异和 JSON 格式洁癖——zh-cn 少个短横、多一个空格、放错一级目录,UI 就永远是英文。别猜,直接 ssh user@host 登上去,用 cat ~/.vscode-server/data/Machine/locale.json 看一眼输出,比查十篇教程都快。


















