VSCode中文界面失效的根源是locale.json路径或内容格式错误:路径必须严格为Windows%APPDATA%\Code\User\locale.json、macOS~/Library/Application Support/Code/User/locale.json、Linux~/.config/Code/User/locale.json,内容仅允许{"locale":"zh-cn"}(小写、短横线、英文双引号、无空格无BOM),任一偏差均静默回退英文。

locale.json 文件路径或内容格式错一个字符就失效
VS Code 只读取用户级 locale.json,且只接受严格合法的 JSON 格式。写错路径、多一个空格、用中文引号、大小写错误(比如 zh-CN 或 zh_CN),都会导致它静默忽略该文件,回退英文界面。
- Windows 路径必须是:
%APPDATA%\Code\User\locale.json - macOS 路径必须是:
~/Library/Application Support/Code/User/locale.json - Linux 路径必须是:
~/.config/Code/User/locale.json - 文件内容只能是这一行(注意双引号、小写、短横线、无空格):
{"locale": "zh-cn"} - 不能有注释、不能含 BOM、不能多字段、不能漏逗号、不能写成
"locale": "Chinese"或"locale": "zh-hans"
改完没重启?进程残留会让 locale.json 完全不加载
Developer: Reload Window 不重载语言环境,右下角状态栏仍显示 en 就说明没生效。必须彻底退出所有 VS Code 进程,再重新启动。
- Windows:任务管理器中结束所有
Code.exe和Code Helper.exe进程 - macOS/Linux:终端执行
pkill -f code或ps aux | grep code | grep -v grep | awk '{print $2}' | xargs kill -9 - Remote-SSH / WSL 场景下,本地重启无效——需先断开连接,再杀掉远程机器上的
code-server进程
被更高优先级配置覆盖了
VS Code 语言设置有明确优先级:命令行参数 > 工作区 .vscode/settings.json > 用户 locale.json。你改对了 locale.json,但其他地方可能把它盖掉了。
- 检查快捷方式目标是否末尾带
--locale=en(某些企业镜像或推广版会注入) - 检查当前项目根目录下
.vscode/settings.json是否写了"locale": "en"或"locale": "zh-cn" - 终端启动时 alias 如
alias code='code --locale=zh-cn'会临时覆盖,但不持久;若想持久,请删 alias 改用locale.json
语言包版本不匹配或损坏
v1.89+ 版本启用 Ozone 渲染后,要求中文语言包版本 ≥1.89.2026052801,旧版会被静默跳过。即使 locale.json 正确,也会显示英文。
- 打开扩展面板,搜索
ms-ceintl.vscode-language-pack-zh-hans,确认发布者是 Microsoft,且版本号符合要求 - 版本过低?卸载后重装;重装失败?手动删掉
~/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-*全部文件夹 - 验证是否真正加载:启动时加
code --log=trace,日志里搜resolved locale,应输出zh-cn


















