直接打开 locale.json 文件是最准的验证方式,其路径为windows:%appdata%\code\user\locale.json、macos:~/library/application support/code/user/locale.json、linux:~/.config/code/user/locale.json,文件内容必须是严格合法的{"locale":"zh-cn"}(utf-8无bom,无多余字符),否则vs code将静默忽略并回退英文。

直接打开 locale.json 文件是最准的验证方式
VS Code 不提供「设置页里点一下看当前语言」的 UI 入口,locale.json 就是唯一真实反映当前界面语言的配置文件。它不藏在设置里,也不显示在状态栏(右下角只显示当前生效的语言代码,但可能被缓存误导),所以最可靠的办法就是直接打开它。
路径必须准确,且文件内容必须合法 JSON:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
用 VS Code 或任意纯文本编辑器打开该文件,只应看到类似这样的一行(严格格式):
{"locale":"zh-cn"}
如果文件为空、含注释、多逗号、引号是中文全角、或值是 "zh-CN" / "zh-hans" / "Chinese",VS Code 会静默忽略整份配置,回退到英文。
右下角状态栏语言代码只是参考,不能代替文件检查
右下角点击语言标识(如 en 或 zh-cn)能快速切换,但它显示的是「当前读取到的值」,不是「实际生效的值」。常见误导场景:
- 你刚执行了
Configure Display Language并点了 Restart Now,但后台Code.exe或 Electron 进程没退出干净 → 状态栏显示zh-cn,但菜单仍是英文 -
locale.json被写成了{"locale": "zh-cn", "foo": 1}→ VS Code 解析失败,自动 fallback 到英文,但状态栏仍可能残留旧值 - 你在 Remote-SSH 环境中,本地
locale.json是zh-cn,但远程服务器上~/.vscode-server/data/Machine/xxx/locale.json不存在或为"en"→ 远程窗口显示英文,状态栏却显示本地语言
命令面板搜不到 Configure Display Language?说明 locale.json 根本没被识别
这个命令本质是打开并编辑 locale.json。如果搜不到、点开空白、或执行后无反应,基本可判定:
- Microsoft 官方语言包
ms-ceintl.vscode-language-pack-zh-hans没装成功(扩展列表里找不到,或安装状态异常) -
locale.json所在目录权限受限(尤其 macOS/Linux 下曾用sudo code启动过) - VS Code 版本低于 1.70,不兼容当前语言包格式
此时别依赖命令,直接手动创建/编辑 locale.json 更快。只要文件存在、路径对、内容是 {"locale":"zh-cn"}(UTF-8 无 BOM),重启后必然生效。
settings.json 里写 "locale" 字段完全无效,删掉它
很多人在 settings.json 里加了 "locale": "zh-cn",发现没用还反复试。这不是操作失误,是设计如此:VS Code 明确弃用了该字段。它只读 locale.json,其他地方写的 locale 全部被忽略。
如果你在 settings.json 里看到这行,建议直接删掉——它不会起作用,还可能干扰你判断问题是否真出在 locale.json 上。
真正关键的只有三件事:装对插件、写对 locale.json、关干净再重启。其他任何“看起来像在设语言”的操作,大概率是在绕弯子。











