{"locale":"en"}是VS Code内置英文界面的启用标识,非安装包;它强制使用硬编码英文资源,大小写敏感且仅en完全可靠,其他如en-us或EN可能被忽略或降级。

locale.json 里的 {"locale":"en"} 是什么
它不是“启用英文包”,而是告诉 VS Code:“请用内置英文资源渲染所有界面”。VS Code 的英文界面是硬编码在二进制里的,en 是唯一无需额外安装、零依赖就能生效的语言标识。写成 "EN"、"en-us" 或 "english" 都可能被忽略或 fallback 失败。
为什么改了 locale.json 还是中文界面
常见原因不是配置错,而是覆盖或未命中:
- 项目根目录下存在
.vscode/locale.json,内容为{"locale":"zh-cn"},它会优先于用户级文件生效 - 远程开发(如 Remote-SSH)连接后,VS Code Server 读的是远程机器上的
~/.vscode-server/data/Machine/xxx/User/locale.json,本地改了没用 - 环境变量
VSCODE_LANG被设为zh-cn(尤其企业镜像系统),它会强制覆盖locale.json - 后台进程残留:Windows 任务管理器里还有
Code.exe,macOS 活动监视器里还有Electron,新窗口会继承旧语言上下文
en 和其他值的兼容性差异
en 是最稳的取值,但不同场景下行为有细微差别:
-
"en":推荐,100% 触发内置英文资源,无任何依赖 -
"en-us":部分版本能 fallback 成功,但非标准 BCP 47 写法,VS Code 可能静默降级或报错 -
"en-GB":同上,不保证生效,且不会自动加载英式拼写词典(那是拼写检查插件的事) -
"EN"或"En":JSON 值非法(大小写敏感),VS Code 直接忽略整行,回退到系统语言
验证 {"locale":"en"} 是否真正生效
不能只看菜单文字,要检查三个关键位置:
- 右下角状态栏显示的是
en(灰色不可点说明被VSCODE_LANG锁死) - 设置页(
Ctrl+,)左侧导航栏是User/Workspace,不是“用户” / “工作区” - 命令面板(
Ctrl+Shift+P)输入Configure Display Language后,下拉列表中高亮项是en,不是zh-cn
只要其中一处还是中文,就说明 locale 配置没透传到当前运行实例——最常被忽略的是远程环境和后台进程残留。


















