根本原因是VS Code语言设置分插件翻译和locale开关两层,必须同时安装官方中文插件ms-ceintl.vscode-language-pack-zh-hans并配置"locale":"zh-cn",且远程环境、终端字体等需单独设置。

为什么装了中文插件界面还是英文?
根本原因不是插件没装好,而是 VS Code 的语言资源和显示逻辑分两层:插件只提供翻译字典,locale 才是开关。两者缺一不可,且必须匹配——装了 ms-ceintl.vscode-language-pack-zh-hans 却没设 "locale": "zh-cn",或反过来,都会卡在英文界面。
常见错误现象包括:右下角弹出“Restart Now”但点了没反应、命令面板里搜不到 Configure Display Language、菜单栏仍是英文但设置页部分文字变中文(说明 locale 生效但插件未加载完全)。
- 检查是否安装了多个中文插件(比如同时装了第三方“Chinese Language Pack”和官方包),冲突会导致语言资源加载失败
- 确认插件发布者是 Microsoft,ID 必须是
ms-ceintl.vscode-language-pack-zh-hans,别信名字带“汉化”“中文”的非官方扩展 - 重启必须是“彻底关闭再打开”,不是重载窗口(
Developer: Reload Window不生效)
Configure Display Language 命令不出现或选不了 zh-cn 怎么办?
这个命令依赖插件已激活且语言资源就绪。如果它不显示,大概率是插件安装中途失败,或 locale.json 被写错位置/格式。
手动补救最可靠:
- 关掉所有 VS Code 窗口
- 用记事本打开对应路径的
locale.json:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 文件内容只能是严格 JSON 格式的一行:
{"locale":"zh-cn"}(注意双引号、冒号、括号全为英文符号,不能有注释或多余空格) - 保存后重新启动 VS Code,此时
Configure Display Language通常就会出现了
Remote-SSH / WSL / Dev Containers 下中文失效
VS Code 的远程扩展环境是独立的运行时,本地装的中文插件不会自动同步过去。你在本地看到的英文菜单,很可能是远程窗口本身没装语言包。
解决方法不是改本地配置,而是进远程环境操作:
- 连接到远程目标后,按
Ctrl+Shift+X打开扩展面板 - 搜索并安装
ms-ceintl.vscode-language-pack-zh-hans(注意:要在这个远程窗口里点 Install) - 再执行
Configure Display Language→ 选zh-cn→ Restart Remote Window - 如果远程是 Linux,还要确认系统级中文字体可用(如
wqy-microhei或noto-cjk),否则中文会显示为方块
字体和终端中文显示异常
界面变中文不代表所有区域都正常。终端、调试控制台、输出面板默认用等宽字体,而很多等宽字体(如 Fira Code、JetBrains Mono)对中文支持弱,容易断字或模糊。
这不是语言包问题,是渲染配置问题:
- 在
settings.json中添加:"editor.fontFamily": "'Fira Code', 'Microsoft YaHei', 'monospace'"(把中文字体放在备选链靠前位置) - 终端单独设置:
"terminal.integrated.fontFamily": "'Cascadia Code', 'Microsoft YaHei', 'monospace'" - macOS 用户若发现中文发虚,加一行:
"workbench.fontAliasing": "default"(禁用次像素抗锯齿) - Linux 上若终端仍乱码,检查
LANG环境变量是否为zh_CN.UTF-8,不是的话在~/.bashrc或~/.zshrc加export LANG=zh_CN.UTF-8
真正麻烦的从来不是“怎么设成中文”,而是不同上下文(本地/远程/终端/调试器)各自维护一套语言和字体逻辑,稍有遗漏就局部回退。别指望一次配置全局生效,得按模块一个个验。


















