locale.json配置错误是vs code中文失效的主因,必须严格满足:路径为用户级目录、内容为{"locale":"zh-cn"}(小写短横线、无空格无bom)、彻底重启生效。

locale.json 配置错误是 VS Code 中文界面失效的最常见原因,90% 的“汉化失败”其实都卡在这一个文件上——它必须存在、路径精准、内容合法、编码干净,缺一不可。
locale.json 文件路径放错位置
VS Code 只读取用户级(User)目录下的 locale.json,不认项目级、工作区级或系统级路径。放在 .vscode/locale.json 或 ~/.vscode-server/extensions/xxx/locale.json 下完全无效。
- Windows 正确路径:
%APPDATA%\Code\User\locale.json - macOS 正确路径:
~/Library/Application Support/Code/User/locale.json - Linux 正确路径:
~/.config/Code/User/locale.json - 远程开发(Remote-SSH / WSL)需额外在远程机器对应路径下也创建一份,本地设置对远程 UI 无影响
locale.json 内容格式不合法
VS Code 对该文件极其严格:只接受单行、无注释、UTF-8 无 BOM 编码的纯 JSON。任何偏差都会导致静默回退到英文,且不报错。
- 正确写法(仅且必须):
{"locale":"zh-cn"}(小写、短横线、双引号、无空格、无逗号、无换行) - 常见错误:
{"locale": "zh-CN"}(大写 C/N)、{"locale":"zh_CN"}(下划线)、{'locale':'zh-cn'}(单引号)、{"locale":"zh-cn",}(尾逗号) - 编辑器自动补全或复制粘贴容易带全角标点、BOM 或隐藏空格,建议用终端命令生成:
echo '{"locale":"zh-cn"}' > ~/.config/Code/User/locale.json
locale.json 被其他配置覆盖或未加载
即使文件存在且内容正确,也可能因环境干扰而未生效。VS Code 启动时若发现冲突或异常,会直接忽略该文件。
- 检查是否误在
settings.json中写了"locale": "zh-cn"—— 这个字段自 1.70+ 版本起已废弃,不仅无效,还可能干扰语言包加载逻辑 - 远程开发场景下,
locale.json必须同时存在于本地和远程机器的对应路径;远程端的文件路径为:~/.vscode-server/data/Machine/[哈希目录]/locale.json - 执行
Developer: Reload Window不会重载 locale 配置,必须彻底退出所有 VS Code 进程(包括托盘后台),再重新启动 - 若使用 Snap/Flatpak 安装的 VS Code,沙盒权限会阻止读取系统语言资源,即使
locale.json正确也会显示方框——应改用官网 .deb/.rpm 或 tar.gz 包安装
locale.json 存在但中文仍不显示
这说明 VS Code 已读取配置,但缺少翻译资源本身。此时问题不在配置,而在语言包状态。
- 确认已安装 Microsoft 官方语言包:
Chinese (Simplified) Language Pack for Visual Studio Code,ID 必须是ms-ceintl.vscode-language-pack-zh-hans,发布者为 Microsoft - 第三方插件如
Chinese Menu或vscode-zh-hans-menu不提供完整 UI 翻译,仅作局部补丁,不能替代官方语言包 - 安装后必须点 “Restart Now”,仅
Reload Window不会触发语言资源重初始化 - 旧版语言包可能与当前 VS Code 版本不兼容(如
engines.vscode字段声明过旧),可手动解压 .vsix、修改package.json中的版本范围后再重打包
真正容易被忽略的是:VS Code 对 locale.json 的校验是“全有或全无”——哪怕多一个空格、少一个引号、用了错误编码,它就当文件不存在,安静切回英文。没有提示,没有日志,也没有 fallback。所以排查时别猜,直接删掉重写,路径、内容、重启三步一步不跳。











