删除 locale.json 文件比修改内容更可靠——vscode 默认英文界面,该文件不存在时直接 fallback 到内置英文;json 格式敏感易出错,而删除可彻底规避格式问题、缓存干扰及配置覆盖风险。

直接删掉 locale.json 文件,比改内容更可靠——VSCode 默认就是英文,只要这个文件不存在,它就不会强制任何语言,立刻 fallback 到内置英文界面。
为什么删文件比改内容更稳?
VSCode 对 locale.json 的 JSON 格式极其敏感:一个尾部空格、一个中文引号、多一个逗号,甚至写成 {"locale":"en" }(注意末尾空格),都会导致整个文件被静默忽略,继续沿用旧缓存(比如上次的 zh-cn)。而删除文件后,VSCode 根本不读取任何 locale 指令,直接走默认路径。
-
locale.json不是必须存在的文件;它只在你主动切换语言时被创建 - 删除后无需担心“没装英文包”——
en是硬编码在二进制里的默认值,不依赖扩展 - 避免手误:不用纠结大小写(
EN❌)、连字符(en-us❌)、引号类型(单引号 ❌)
删之前必须关干净 VSCode 进程
如果进程还在运行,locale.json 可能被锁住,删了也无效,或者重启后又被自动重建(尤其 Remote-SSH / WSL 场景下)。
- Windows:任务管理器中结束所有
Code.exe和Code Helper.exe进程,包括托盘图标右键「退出」 - macOS:活动监视器里查
Code和Code Helper,或终端执行pkill -f "Code" - Linux:
pkill -f "code"或检查ps aux | grep code - Remote-SSH:不仅要本地关,还要登录远程机器,同样杀掉远程端的
code进程并删其~/.vscode-server/data/Machine/*/locale.json
删完还中文?优先排查三处覆盖源
VSCode 语言优先级是:启动参数 > 工作区 .vscode/locale.json > 用户级 locale.json。删了用户级文件,不代表万事大吉。
- 当前项目根目录下有
.vscode/locale.json?直接删掉它——这是工作区级覆盖,优先级更高 - 你是用快捷方式或 alias 启动的?检查 Windows 快捷方式「目标」字段,或 macOS/Linux 的
~/.zshrc/~/.bashrc里有没有alias code='code --locale=zh-cn' - 企业设备或组策略锁定了语言?Windows 上检查注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\PreferredUILanguages是否被设为zh-CN
真正起作用的只有那个位于用户数据目录下的 locale.json,其他地方写的 "locale": "en" 在 settings.json 里完全无效——从 VSCode 1.70 起就已被弃用,且 1.80+ 版本连 Configure Display Language 命令都移除了。别在错误的地方浪费时间。











