装了多个中文语言包后 VSCode 界面变英文或乱码,主因是冲突——VS Code 仅允许一个 locale 生效,需停用所有非官方中文包(只保留 ms-ceintl.vscode-language-pack-zh-hans),清理 locale.json 为 {"locale":"zh-cn"} 并彻底重启。

装了多个中文语言包后 VSCode 界面突然变英文、部分菜单显示为方块或乱码,基本可以确定是语言包冲突——VS Code 只允许一个 locale 生效,多个插件同时注册 zh-cn 会互相覆盖或触发加载失败。
确认是否真有多个中文语言包在运行
打开命令面板(Ctrl+Shift+P),输入 Configure Display Language 并执行。如果下拉列表里出现多个 zh-cn 选项(比如 “Chinese (Simplified) Language Pack” 和 “Chinese Language Pack for VS Code”),说明已安装重复包。VS Code 不会报错,但只取第一个注册的,后续的会被静默忽略。
- 打开扩展面板(
Ctrl+Shift+X),搜索chinese,停用所有非微软官方的中文语言包(尤其注意名称含 “Language Pack” 但发布者不是ms-ceintl的) - 只保留微软发布的
Chinese (Simplified) Language Pack for Visual Studio Code(ID:ms-ceintl.vscode-language-pack-zh-hans) - 重启 VS Code 后再检查界面是否恢复
语言包启用但界面仍为英文?检查 locale.json 是否被污染
VS Code 启动时读取 locale.json 决定界面语言,该文件可能被旧插件或手动修改残留写坏。路径如下:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
打开该文件,内容应极简,仅类似:{"locale":"zh-cn"}。若发现多行、带注释、含多余字段(如 "fallback" 或 "_comment"),直接删掉全部内容,只保留合法 JSON 行并保存。重启后生效。
重启后部分按钮/提示仍是英文?可能是扩展自身未适配
语言包只改 VS Code 原生 UI,不控制第三方扩展的界面文字。如果你看到调试面板里的 “Start Debugging”、GitLens 的右键菜单、或者 Prettier 的提示仍是英文,这不是语言包问题,而是那些扩展没提供 zh-cn 翻译字符串。
- 检查扩展详情页的 “Localization” 栏,看是否标注支持中文
- 有些扩展(如
ESLint、Pylance)只在错误消息里用英文,这是设计使然,无法靠语言包解决 - 若某扩展明确声明支持中文却仍显示英文,可去其 GitHub Issues 搜
locale或zh-cn,常有用户反馈翻译未打包进最新 release
真正难排查的是“半截乱码”:菜单栏中文正常,但设置页里某个开关的 label 是方块——这往往不是语言包问题,而是字体链里缺等宽中文字体,导致系统 fallback 到不支持 Unicode 的字体。这时候得回头调 editor.fontFamily,而不是继续折腾插件。


















