locale.json是VSCode界面语言唯一生效配置,路径为Windows:%APPDATA%\Code\User\locale.json、macOS:~/Library/Application Support/Code/User/locale.json、Linux:~/.config/Code/User/locale.json;内容须为严格单行JSON{"locale":"zh-cn"},UTF-8无BOM编码,修改后需彻底退出并重启进程才生效。

直接改 locale.json 是最稳的入口
VSCode 的界面语言不是靠插件“覆盖”出来的,而是由一个叫 locale.json 的配置文件决定的。它在用户数据目录下,路径类似:~/.vscode/argv.json(Linux/macOS)或 %APPDATA%\Code\User\argv.json(Windows)。但注意:你真正要动的是 locale.json,不是 argv.json —— 后者是启动参数,改了可能让 VSCode 启动失败。
正确做法是用命令面板触发修改,而不是手动编辑文件。因为 VSCode 会自动校验格式、写入路径、并确保扩展已就绪。手动改 locale.json 容易漏掉语言包依赖,导致重启后回退到英文。
如果你已经装好官方中文语言包,但界面还是英文,大概率是 locale.json 没被正确写入。这时候别硬改 JSON,优先走标准流程:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Configure Display Language,选中执行 - 在弹出列表里选
zh-cn,点Restart
settings.json 里设 "locale" 是无效操作
很多人搜到教程说在 settings.json 里加一行 "locale": "zh-cn",这其实是错的。VSCode 的 settings.json 管的是编辑器行为(比如缩进、字体、自动保存),不控制界面语言。这个字段只存在于 locale.json 中,且必须是顶层键值对,不能嵌套或加引号以外的修饰。
如果你在 settings.json 里强行写了 "locale",VSCode 不会报错,但也不会生效——它压根不读这个字段。这也是为什么有些人改完重启,发现一点变化都没有。
验证方式很简单:打开命令面板,运行 Developer: Show Running Extensions,看 MS-CEINTL.vscode-language-pack-zh-hans 是否已启用;再确认 locale.json 文件内容是否为 {"locale":"zh-cn"}(仅此一项,无其他字段)。
装了语言包但没反应?先查这三个地方
官方语言包安装后不生效,90% 是卡在这三个环节:
-
locale.json文件权限异常(尤其 macOS/Linux 上被设为只读) - VSCode 正在以管理员/root 权限运行,但语言包装在普通用户目录下
- 远程开发(SSH / WSL / Containers)场景下,语言包只装在本地,没同步到远端环境
远程开发时,必须在远端 VSCode Server 里也装一次语言包。方法是:连上远程环境后,打开扩展面板(Ctrl+Shift+X),搜索 Chinese,再点一次“Install in SSH: xxx”——不是“Install in Local”。否则菜单是中文,终端和调试器输出仍是英文,容易误判为汉化失败。
中文界面 ≠ 中文错误信息,别指望编译器也变中文
把界面切到 zh-cn 后,菜单、设置项、右键菜单都会变中文,但 Python 的 TypeError、C++ 的 undefined reference、Node.js 的堆栈跟踪,这些全来自语言服务器或底层工具链,跟 VSCode 自身语言无关。
比如你装了 Pylance 或 C/C++ 扩展,它们的错误提示是否中文,取决于各自插件是否内置了简体中文资源。目前只有少数插件(如部分 TypeScript 工具)做了完整翻译,多数仍为英文。这不是配置问题,是生态现状。
所以如果看到调试控制台里一堆英文报错,别急着重装语言包——那是正常现象。真要中文错误,得去对应插件的 GitHub Issues 里看有没有本地化计划,或者换用支持中文的 LSP 实现。


















