VSCode中文界面需三步闭环:安装微软官方语言包ms-ceintl.vscode-language-pack-zh-hans、执行Configure Display Language命令选zh-cn、彻底重启所有进程;locale.json必须严格为{"locale":"zh-cn"}且置于用户级路径,远程开发须单独配置服务端。

VSCode 的中文语言包(ms-ceintl.vscode-language-pack-zh-hans)不会、也不能“自动加载”——它必须手动激活,且激活动作本身不支持自动化脚本或配置触发。所谓“自动加载”是常见误解,真正起作用的是「安装 + 显式切换 locale + 彻底重启」三步闭环。
为什么 Configure Display Language 命令不能被跳过?
这个命令不是可选步骤,而是 VS Code 读取中文资源的唯一入口。它会做两件事:
① 确保 locale.json 文件存在且内容为 {"locale": "zh-cn"};
② 触发语言运行时初始化,加载 vscode-language-pack-zh-hans 提供的翻译资源。
常见错误现象:
- 装完插件后右下角弹出 “Restart to enable”,点了 Reload Window 却仍是英文菜单
- 手动在
settings.json里加了"locale": "zh-cn",但插件页、命令面板、状态栏全英文 - 远程开发(Remote-SSH / WSL)中本地已汉化,连接后插件管理页仍是英文
原因很直接:VS Code 1.70+ 已弃用 settings.json 中的 locale 字段;远程实例完全不继承本地 locale 配置,必须单独配其服务端的 locale.json。
locale.json 手动写入必须满足的三个硬性条件
当命令面板失效、UI 崩溃或批量部署时,直接编辑配置文件是最可靠方式,但错一个就白干:
-
locale.json必须放在用户级路径,其他位置(工作区、系统级、便携版 data 目录外)全部无效:
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
– Linux:$HOME/.config/Code/User/locale.json - 文件内容只能是严格 JSON 格式的一行:
{"locale":"zh-cn"}(无 BOM、无空格、无逗号、无注释) - 值必须小写 + 短横线:
zh-cn是唯一有效值;zh_CN、zh-hans、Chinese、zh全部静默失败
验证是否写对:启动 VS Code 后按 Ctrl+Shift+P 输入 Preferences: Open User Settings (JSON),检查里面有没有多出一个 "locale" 字段——如果有,删掉它。locale.json 和 settings.json 冲突时,前者胜出,但后者残留字段容易干扰排查。
远程开发(Remote-SSH / WSL)下插件页为何还是英文?
因为远程 VS Code Server 是独立进程,它不读本地的 locale.json,也不同步语言包文件。你看到的插件管理页(Ctrl+Shift+X)由远程端渲染,必须在远程机器上单独配置:
- 登录远程机器(如 WSL 终端或 SSH),执行:
mkdir -p ~/.vscode-server/data/Machine/$(ls ~/.vscode-server/data/Machine/ | head -n1)echo '{"locale":"zh-cn"}' > ~/.vscode-server/data/Machine/$(ls ~/.vscode-server/data/Machine/ | head -n1)/locale.json - 断开当前 Remote 连接,再重连一次(等同于重启远程 Server)
- 确认远程端已安装
ms-ceintl.vscode-language-pack-zh-hans—— 它不会随 Settings Sync 自动装,必须手动装
最容易被忽略的是:远程端语言包安装和 locale 激活是两个动作,缺一不可。只配 locale.json 不装包,或只装包不配 locale,结果都是插件页英文。
真正卡住人的从来不是“怎么装”,而是「改完没杀干净进程」「路径写错位置」「值写成 zh_CN」「远程端以为本地配了就自动生效」。这些点不盯死,重装十次语言包也没用。


















