vscode界面菜单等仍英文,因locale.json未生成或不合法;必须执行configure display language命令并选zh-cn后彻底重启,插件仅提供翻译资源,不自动启用。

VSCode 编辑器里中文显示正常,但界面菜单、设置页、扩展面板仍是英文——问题不在字体或文件编码,而是 locale.json 没生成或内容不合法。
Configure Display Language 命令必须执行且选对值
装了 Chinese (Simplified) Language Pack for Visual Studio Code 不等于界面就变中文。插件只是资源包,VS Code 只读 locale.json 文件里的 {"locale":"zh-cn"},这个文件必须由命令写入,不能手改、不能复制粘贴、不能只重载窗口。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入完整命令名Configure Display Language—— 别输成set language或change locale - 下拉列表中**必须选**
zh-cn(全小写、带短横线;zh_CN、Zh-cn、Chinese全部无效) - 弹出提示后必须点 Restart,点
Reload Window不触发写入 - 重启后检查
locale.json是否真实存在且内容严格为{"locale":"zh-cn"}(UTF-8 无 BOM)
编辑器内中文显示为方块或问号?是字体 fallback 链断了
这不是编码问题,是 VS Code 渲染 UI 文字时没找到能画汉字的字体。默认字体链在部分系统上跳过中文字体,尤其 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 面板、调试控制台中文乱码?和 files.encoding 无关
插件日志、语言服务器输出、console.log("你好") 在 Output 面板里变成 \u4f60\u597d 或空格,根本原因是 VS Code 的 Extension Host 进程基于 Node.js 启动,而 Windows 上默认未启用 UTF-8 模式。
- 若 Node.js ≥18.17+,在系统级环境变量中设
NODE_OPTIONS=--experimental-utf8 - 若 Node.js 版本较低,改用
NODE_OPTIONS=--no-warnings --max-old-space-size=4096,并在插件代码中手动调用process.stdout.setEncoding('utf8') - 别碰
files.encoding,它只管文件读写,不接管进程 stdout/stderr 的字节流解释 - 终端里乱码是另一条链路(见
chcp 65001和PYTHONIOENCODING),和 Output 面板无关
最常被忽略的是:远程开发(Remote-SSH / WSL)需单独在远程机器上执行 Configure Display Language 并生成 locale.json,本地设置完全无效;还有 window.zoomLevel 设为小数会导致中文菜单文字截断,必须是整数(如 0 或 1)。











