locale.json 是唯一生效的语言配置文件,VS Code 1.70+ 已废弃 settings.json 中的 "locale" 字段,仅读取用户数据目录下严格路径、命名、编码和格式的 locale.json 文件。

locale.json 是唯一生效的语言配置文件
VS Code 从 1.70 版本起,settings.json 中的 "locale" 字段已完全废弃,写进去也不会被读取。真正起效的只有用户数据目录下的 locale.json 文件——它不参与任何设置同步、不被工作区覆盖、也不受插件干扰,是语言切换的最终仲裁者。
- 路径必须严格匹配(大小写敏感、无多余子目录):
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
– Linux:$HOME/.config/Code/User/locale.json - 文件名必须是
locale.json,不是locale.txt、Locale.json或带后缀的备份文件 - 内容只能是单行合法 JSON:
{"locale":"zh-cn"}(双引号、小写、连字符、无空格、无逗号、无注释) - 编码必须为 UTF-8 无 BOM;用 VS Code 自己新建并保存该文件,能天然规避 BOM 问题
手动写入 locale.json 的典型场景
当命令面板打不开、Configure Display Language 命令无响应、或执行后界面仍为英文时,说明 VS Code 没成功写入或读取语言配置。此时直接编辑 locale.json 是最稳的兜底方式,绕过 UI 层和插件状态依赖。
- 先彻底退出所有 VS Code 进程:
– Windows:任务管理器中杀光所有Code.exe和Code Helper.exe
– macOS:活动监视器中结束Electron和Code Helper
– Linux:pkill -f "code.*--no-sandbox" - 用 VS Code 自己打开对应路径的
locale.json(避免其他编辑器悄悄加 BOM) - 清空文件全部内容,只写一行:
{"locale":"zh-cn"} - 保存后全新启动 VS Code,不要点“重新加载窗口”
常见失败原因与静默回退机制
VS Code 对 locale.json 的校验非常严格:只要路径错、文件名错、JSON 格式错、编码含 BOM、值不是精确的 "zh-cn",它就会静默忽略该文件,并回退到英文界面——且不报任何错误提示。
- 无效的 locale 值举例:
"zh_CN"、"ZH-CN"、"zh-hans"、"Chinese"、"zh"—— 全部不识别 - 文件若位于
.vscode/工作区目录下,VS Code 完全不读取 - 如果
locale.json里混有其他字段(如{"locale":"zh-cn","theme":"dark"}),整个文件被跳过 - Remote-SSH / WSL 环境下,本地改了没用;必须在远程机器上单独配置其自身的
locale.json
验证是否真正生效的关键位置
别只看右下角状态栏语言代码,那可能只是缓存显示。真正验证要盯住三个核心区域:
- 顶部菜单栏文字(File、Edit、View…)是否中文
- 左侧活动栏 hover 提示(如“资源管理器”“搜索”“运行和调试”)是否中文
- 设置页面搜索
locale,结果项中显示的当前值是否为zh-cn
终端、调试控制台、Git 输出、部分插件界面仍是英文,这正常——它们不走 VS Code 的 locale.json 逻辑,而是各自依赖系统语言或运行时环境。盯着上面三处确认即可,其余不必纠结。


















