VS Code 设置中文显示失败的主因是后台进程残留、locale.json路径或格式错误、工作区/远程配置覆盖、语言包未安装或不匹配。需彻底结束进程、严格校验JSON路径与内容、检查覆盖配置、安装官方语言包,并确保Remote环境同步安装。

Configure Display Language命令执行后locale.json仍为空
执行命令后文件没变化,大概率是 VS Code 后台进程未完全退出,导致写入被跳过。Windows 下尤其常见于托盘图标还在、Code.exe 进程残留;macOS/Linux 则常因 Code Helper 或 Electron 子进程卡住。
必须手动清空所有相关进程再试:
- Windows:打开任务管理器,结束所有
Code.exe和Code Helper.exe - macOS/Linux:终端运行
pkill -f "Code Helper\|Electron" - 再重新打开命令面板,严格输入
Configure Display Language(大小写、空格都不能错),从下拉列表里点zh-cn(不是zh-CN、Chinese (Simplified)或zh-hans) - 弹出提示后,务必点
Restart,不要选Don’t Restart
locale.json路径或内容格式错误导致静默失败
VS Code 只读取特定路径下的 locale.json,且只接受严格 JSON 格式。任何偏差都会被忽略,不报错、不提示,直接退回英文界面。
确认以下三点全部满足:
- 路径必须准确:
Windows:%APPDATA%\Code\User\locale.json
macOS:$HOME/Library/Application Support/Code/User/locale.json
Linux:$HOME/.config/Code/User/locale.json - 文件内容只能是单行、无 BOM、无注释:
{"locale":"zh-cn"}(注意:双引号为英文、全小写、连字符、无空格、无尾逗号) - 不能手动生成后用其他编辑器保存——某些编辑器(如记事本)默认加 BOM 或换行符,建议用 VS Code 自身打开并保存,或用终端命令写入:
echo '{"locale":"zh-cn"}' > ~/.config/Code/User/locale.json
工作区或远程环境覆盖了用户级locale设置
即使 locale.json 正确,插件页、菜单栏仍显示英文,很可能是更高优先级的配置把它盖掉了。
检查这些地方:
- 当前项目根目录下是否存在
.vscode/settings.json?打开它,删掉或注释掉其中的"locale": "en"或"locale": "zh-cn"字段 - 是否通过 Remote-SSH / WSL / Dev Container 连接?远程端有独立的
locale.json路径(如~/.vscode-server/data/Machine/xxx/locale.json),本地改了完全无效,需在远程窗口中再次执行Configure Display Language或手动创建 - 启动 VS Code 时是否带了
--locale=en参数?检查快捷方式“目标”字段、shell alias(如alias code='code --locale=en')或企业策略注入的启动参数
中文语言包未安装或版本不匹配
locale.json 是开关,语言包才是字典。没有正确安装官方语言包,VS Code 读到 zh-cn 也会静默 fallback 到英文。
确认你装的是 Microsoft 官方发布的插件:
- 在扩展市场搜索
Chinese (Simplified) Language Pack for Visual Studio Code - 认准发布者是
Microsoft,ID 是ms-ceintl.vscode-language-pack-zh-hans - 别装错成第三方同名插件(比如 ID 含
chinese但发布者不是 Microsoft 的) - 如果命令面板里
Configure Display Language下拉列表中压根没有zh-cn,基本说明语言包未加载成功,可尝试禁用再启用该插件,或重装
最易被忽略的一点:Remote-SSH 场景下,语言包也必须在远程机器上安装,且和本地版本一致。本地装得再全,远程没装,远程窗口 UI 就永远是英文。


















