直接删掉 locale.json 是最稳、最可靠的回退方式;VSCode 默认英文,不依赖插件或命令,且 1.70+ 已弃用 settings.json 中的 "locale" 字段,仅 locale.json 有效,需严格匹配路径、格式与大小写,并彻底退出进程后重启。

直接删掉 locale.json 就是最稳、最可靠的回退方式。 VSCode 默认就是英文,只要它没被显式指定语言,就会自动 fallback 到英文界面——不依赖插件、不靠命令、也不需要装“英文语言包”。
为什么不能改 settings.json 里的 "locale"
VSCode 从 1.70 版本起已完全弃用 settings.json 中的 "locale" 字段。你加了这行:"locale": "en",VSCode 会静默忽略,不报错、不提示、也不生效。网上大量旧教程仍沿用这个写法,但对当前主流版本(1.90+)完全无效。
- 该字段已被移出配置系统,不是“没刷新”,是根本不会读
- 即使你装了中文语言包,
settings.json里写"locale": "zh-cn"同样无效 - 唯一被识别的配置文件是独立的
locale.json,且只在用户级目录下生效
locale.json 的位置和内容必须严格匹配
文件路径因系统而异,但内容格式要求完全一致:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
内容只允许一种写法:{"locale":"en"}
- 必须用英文双引号,不能用单引号或中文引号
- 值必须小写、无空格、无连字符变体:
"en"✅,"EN"❌,"en-us"❌,"english"❌ - 不能有多余逗号、注释、换行、缩进或尾部空格:
{"locale":"en" }❌ - 文件不存在?直接新建;存在但内容错误?删掉重写,别试图修复
改完不生效?大概率是 VSCode 没彻底退出
VSCode 会缓存语言设置,且加载 locale.json 仅发生在启动时。后台残留进程会导致新配置完全不被读取:
- Windows:打开任务管理器,结束所有
Code.exe和Code Helper进程 - macOS:执行
killall -u $USER 'Code Helper'或用活动监视器杀掉相关进程 - Linux:运行
pkill -f 'code' - 特别注意 Remote-SSH / WSL 场景:本地改了没用,远程机器上也得同步删掉它的
locale.json - 检查项目根目录下是否有
.vscode/locale.json—— 它会覆盖用户级设置,也得一并删掉
真正容易被忽略的点是:VSCode 的语言优先级链条很长,启动参数 > 工作区 .vscode/locale.json > 用户级 locale.json。你以为改对了,其实被某一层悄悄盖过去了。删干净、杀彻底、再重启,比反复调试 JSON 格式更省时间。


















