必须执行configure display language命令并选zh-cn后彻底重启,因插件仅提供翻译资源,locale.json需该命令生成才能生效;手动改settings.json或仅重载窗口无效。

Configure Display Language 命令没执行或选错值
装了 Chinese (Simplified) Language Pack for Visual Studio Code 但界面仍是英文,大概率卡在这一步:插件只是“字典”,不自动启用。VS Code 只认 locale.json 文件里的值,而这个文件必须由 Configure Display Language 命令写入。
实操建议:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入完整命令名Configure Display Language—— 别输成set language或change locale - 从下拉列表中**明确选**
zh-cn(小写、连字符;zh_CN、Zh-cn、Chinese都无效) - 弹出提示后必须点 Restart,仅 “重载窗口” 不触发配置写入
- 重启后检查
locale.json是否真实存在且内容为{"locale":"zh-cn"},路径在:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json
插件 UI 渲染层缺失中文字体支持
设置页、扩展详情面板、侧边栏菜单里中文显示为方块或问号,不是编码问题,是字体 fallback 链没兜住汉字。VS Code 默认字体链在部分系统上跳过中文字体,尤其 Windows 上只写 "SimSun" 容易错位(它不是等宽字体)。
实操建议:
- 打开
settings.json,添加或修正"editor.fontFamily",显式声明优先级顺序,例如:"editor.fontFamily": "'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', 'sans-serif'" - macOS 用户避免用
"Helvetica Neue",它不参与中文渲染;Linux 用户确认已安装fonts-wqy-zenhei或noto-fonts-cjk,别只靠DejaVu Sans - 该配置影响 UI 文字渲染,但对 Output 面板、终端输出、命令面板输入框无作用
Output 面板中文全变成 或空格
插件日志、语言服务器输出、调试信息在 Output 面板里乱码,和终端编码无关,也不受 files.encoding 控制。根本原因是 VS Code 的 Extension Host 进程基于 Node.js 启动,而 Windows 上默认未启用 UTF-8 模式。
实操建议:
- 在系统级环境变量中设置
NODE_OPTIONS=--experimental-utf8(Node.js ≥18.17+ 才支持);若版本低,改用--no-warnings --max-old-space-size=4096并配合插件内手动调用process.stdout.setEncoding('utf8') -
chcp 65001只影响集成终端,对 Output 面板完全无效 - 不要在
settings.json里加"terminal.integrated.env.windows": {"NODE_OPTIONS": "..."},这不生效
JSON 配置文件里中文注释保存后变 \u4f60\u597d
在 .eslintrc.json、settings.json 等文件中写中文注释或提示文本,保存后变成 Unicode 转义或直接报错 Invalid UTF-8 byte sequence,说明文件本身不是 UTF-8 无 BOM 格式。
实操建议:
- 右下角点击编码标识 → 选
Reopen with Encoding→UTF-8→ 再点同一位置 →Save with Encoding→UTF-8 - 禁用所有可能自动转码的插件(如某些格式化工具、i18n 提取插件)
- 编辑 JSON 时别加
//注释:JSON 标准不支持,VS Code 虽容忍但保存时可能破坏编码
最常被忽略的是:VS Code 的语言切换(locale.json)和插件运行(Extension Host 进程)是两套独立机制。即使你把所有设置调得完美,只要 locale.json 没被正确写入,或者 Output 面板的 Node.js 进程没启用 UTF-8,对应位置就一定不会显示正常中文。











