最稳的方式是删除强制中文的 locale.json 文件:Windows 删 %APPDATA%\Code\User\locale.json,macOS 删 ~/Library/Application Support/Code/User/locale.json,Linux 删 ~/.config/Code/User/locale.json,重启 VSCode 即恢复英文。

直接改回英文,最稳的方式不是“切语言”,而是删掉强制中文的配置。VSCode 默认就是英文,只要它没被显式指定为 zh-cn,就会自动 fallback 到英文界面。
执行 Configure Display Language 命令后选 en 不生效?
这个命令在 VSCode 1.80+ 版本中已被移除,输入 Configure Display Language 会提示 command not found 或跳转到空设置页。别再依赖它——这不是你操作错了,是功能本身没了。
如果你用的是较新版本(2026 年主流已是 1.90+),请跳过该命令,直接处理 locale.json 文件:
- 关闭所有 VSCode 进程(包括托盘图标、Remote-SSH 连接、WSL 子进程)
- 定位并删除对应系统的
locale.json文件:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 重启 VSCode,界面立刻恢复英文
手动编辑 locale.json 改成 "en" 后还是中文?
常见原因是 JSON 格式非法或值不标准。VSCode 对 locale.json 的解析非常严格,哪怕一个空格、一个中文引号、一个多余逗号,都会导致整个文件被静默忽略,然后继续沿用旧缓存(比如上次的 zh-cn)。
正确写法只允许这一种(注意大小写、连字符、双引号、无注释、无空格):
{"locale":"en"}
错误示例包括:{"locale": "en" }(末尾空格)、{'locale':'en'}(单引号)、{"locale": "EN"}(大写)、{"locale":"en-US"}(非标准值,VSCode 不识别)。
为什么改了 locale.json 还是英文?检查工作区覆盖和启动参数
VSCode 语言优先级是:启动参数 > 工作区设置 > 用户设置。你改的是用户级 locale.json,但以下两种情况会把它盖过去:
- 当前打开的项目根目录下有
.vscode/settings.json,且里面写了"locale": "zh-cn"—— 删除或注释掉这行即可 - 你是通过快捷方式、终端 alias 或脚本启动 VSCode 的,命令里带了
--locale=zh-cn(常见于企业镜像或旧版教程残留)—— 检查快捷方式“目标”字段或 shell 配置文件里的alias code=...
尤其注意 Remote-SSH 场景:本地改了没用,得登录到远程机器上,同样删掉远程端的 locale.json,否则远端服务仍按中文渲染 UI。
插件或系统策略让英文切不干净?
某些旧版国际化插件(如早期 i18n helper 类)会调用 vscode.env.language API 强行设为中文,导致菜单是英文、但部分按钮或弹窗仍是中文;更隐蔽的是 Windows 组策略或注册表锁定:
- 检查注册表路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced下是否有PreferredUILanguages项,值包含zh-CN - macOS 上运行:
defaults read -g AppleLanguages,如果输出含"zh-Hans",说明系统级语言策略在干预
这类覆盖无法靠 VSCode 内部配置解除,必须从系统层清理。一旦确认是策略导致,即使删了 locale.json,重启后也可能自动生成新的。
真正灵活切换的关键不在“怎么选语言”,而在理解 VSCode 只认一个地方:合法的 locale.json。其他所有入口(命令面板、设置搜索、扩展 UI)要么已失效,要么只是它的代理。别被残留教程带偏节奏——删文件、清缓存、查覆盖,三步做完,语言就听你的了。


















