最稳妥方式是删除locale.json文件:VSCode默认英文,无该文件即自动fallback;需关闭所有进程后删除对应路径下的locale.json,重启即生效。

直接删掉 locale.json 文件最稳妥
VSCode 启动时若发现 locale.json 内容非法(比如大小写错误、注释、尾部空格、单引号),会静默忽略该文件,继续沿用旧缓存语言——你改了也白改。与其反复调试 JSON 格式,不如彻底删除它:没有 locale.json,VSCode 就默认英文。
操作前务必关闭所有 VSCode 进程(包括托盘图标、Remote-SSH 的 Code Helper、WSL 里的后台进程),否则文件可能被锁住或写入失败。
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
手动编辑 locale.json 时必须满足的四个条件
如果非要保留文件并修改内容(例如想临时切回中文),locale.json 必须是严格合法且极简的 JSON:
- 只允许一个键值对:
{"locale":"en"}(英文)或{"locale":"zh-CN"}(中文,注意大写 CN) - 双引号必须是英文半角,不能用中文引号“”或单引号
- 不能有任何注释(
//或/* */)、不能有尾部空格("en" }❌)、不能换行缩进 - 不能有多余逗号(
{"locale":"en",}❌)、不能大写 locale 值("EN"或"en-US"❌)
改完还是中文?检查三个高优先级覆盖源
locale.json 正确 ≠ 界面一定变英文。VSCode 的语言优先级是:启动参数 > 工作区 .vscode/locale.json > 用户级 locale.json。容易漏掉的干扰项:
- 当前项目根目录下存在
.vscode/locale.json,内容是{"locale":"zh-cn"}→ 直接删掉 - 你在终端 alias 里写了
alias code='code --locale=zh-cn'→ 检查~/.zshrc或~/.bashrc并删掉该行 - Remote-SSH 或 WSL 连接的远程机器上,路径
~/.vscode-server/data/Machine/[hash]/locale.json仍为中文 → 登录远程后手动清理
settings.json 里残留的 locale 配置也会导致失效
很多人以为改了 locale.json 就万事大吉,但 settings.json 里若有 "locale": "zh-cn" 或 "typescript.locale": "zh-CN" 这类配置,VSCode 启动时会优先读取它,并尝试加载已卸载的语言包,结果卡在欢迎页或报 ERR_INVALID_LANGUAGE_PACK。
解决方法:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),运行Preferences: Open Settings (JSON) - 全局搜索
locale、language、lang,逐条确认是否指向已删的语言包,整行删掉 - 别忘了检查项目根目录下的
.vscode/settings.json,它的优先级高于用户设置
真正麻烦的不是改错格式,而是你以为改对了,其实被更高优先级的配置盖住了。每次改完都得关干净再启,否则看到的永远是缓存结果。


















