必须通过Configure Display Language命令生成严格格式的{"locale":"zh-cn"}并彻底重启,否则因路径错误、内容非法、被高优先级设置覆盖或进程未真正退出,VS Code会静默回退英文。

locale.json 配置失效不是“没装对插件”,而是 VS Code 根本没读到它——文件路径错、内容错、被覆盖、或进程没真正退出,都会导致静默回退英文。
locale.json 文件是否存在且路径正确
VS Code 只读取特定路径下的 locale.json,其他位置写的都无效。必须确认你编辑的是用户级配置文件:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
用资源管理器或终端直接打开该路径,检查文件是否真实存在。如果不存在,说明 Configure Display Language 命令根本没成功执行;如果存在但内容为空或不是 JSON,就属于格式问题。
locale.json 内容是否严格合法
这个文件只接受一行极简 JSON,任何多余字符都会让它被完全忽略:
- 必须是
{"locale":"zh-cn"}(双引号、小写、短横线、无空格、无逗号、无注释) - 不能用中文引号、全角冒号、
zh_CN或zh-Hans - 不能有 BOM 头(用 VS Code 自带的编码切换功能选 “UTF-8” 而非 “UTF-8 with BOM”)
- 别手动生成——哪怕内容完全正确,手动创建的文件也可能因权限或加载时机被跳过
最稳妥的方式是:先删掉旧文件,再通过 Configure Display Language 命令触发 VS Code 自动生成。
有没有更高优先级的设置把它盖掉了
VS Code 的语言配置有明确优先级顺序:启动参数 > 工作区 .vscode/settings.json > 用户 locale.json。常见覆盖源:
- 当前项目根目录下
.vscode/settings.json里写了"locale": "en" - 远程开发(SSH / Dev Container)时,远程端的
locale.json才生效,本地改了没用 - 快捷方式目标或终端 alias 中加了
--locale=en参数 - 企业环境通过 GPO 或策略插件锁定了 locale 设置
排查建议:先关闭当前文件夹(File > Close Folder),再运行 Configure Display Language 看是否立即生效。
VS Code 进程是否真的完全退出
点 “Reload Window” 或只关窗口,后台的 Code Helper 进程可能仍在运行,导致新配置不加载。尤其在 Windows 托盘残留、macOS 活动监视器里还有 Code Helper (Renderer)、或 WSL 下未杀干净进程时,极易复现。
- Windows:任务管理器中结束所有
Code.exe和Code Helper进程 - macOS:活动监视器中搜索
Code,强制退出全部相关进程 - Linux / WSL:终端执行
pkill -f 'code' - 验证方式:重启后立刻检查输出面板 →
Log (Window),搜索--locale=,看是否出现--locale=zh-cn
真正容易被忽略的是:locale.json 必须 UTF-8 无 BOM 编码,且路径中不能含中文字符或空格;哪怕只多一个空格或用了全角引号,VS Code 就会静默失败,退回英文。


















