vs code 界面仍英文的主因是未执行 configure display language 命令,该命令唯一能正确生成并写入 locale.json(内容必须为 {"locale":"zh-cn"});插件 ui 是否中文则取决于插件自身是否内置中文资源。

装了中文语言包但 VS Code 界面还是英文,大概率不是插件没装对,而是 Configure Display Language 命令压根没执行过——这个命令是唯一能正确写入 locale.json 并触发语言切换的入口,其他操作基本无效。
为什么 Configure Display Language 没生效?
VS Code 不会根据插件安装状态自动修改语言配置。即使你已安装 ms-ceintl.vscode-language-pack-zh-hans,只要没手动运行 Configure Display Language,它就只把翻译资源当一堆静态 JSON 文件,完全不加载。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 必须输入完整命令名:
Configure Display Language(搜 “change language” 或 “set locale” 都找不到) - 在下拉列表中明确选
zh-cn—— 不是zh、zh-TW或Chinese - 弹出提示后务必点 Restart,仅关闭再手动打开不行:后台
Code Helper进程仍在运行,配置不会重载
locale.json 文件异常或被覆盖
VS Code 启动时只读取固定路径下的 locale.json,内容必须严格为 {"locale":"zh-cn"},且该文件必须由 VS Code 自己写入,手动生成或编辑大概率被忽略。
- 路径检查:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
- Windows:
- 用文件管理器直接打开,确认文件存在且内容是
{"locale":"zh-cn"}(注意双引号、小写、无多余空格) - 若文件不存在 → 说明
Configure Display Language从未成功执行;若存在但值是"en"或为空 → 被工作区设置、远程环境或 IT 策略覆盖 - 终端执行
ls -l locale.json(Linux/macOS)或检查属性(Windows),确认当前用户有写权限(尤其 WSL 或远程开发场景下挂载权限常导致只读)
多层配置冲突导致语言被强制覆盖
VS Code 的语言设置有三重作用域:用户级(全局)、工作区级(当前文件夹)、远程实例级(SSH/Dev Container)。任意一级写了 "locale": "en",都会压制上层配置。
- 临时关闭当前文件夹(
File > Close Folder),再运行Configure Display Language,可绕过工作区干扰 - 连接远程环境前先确认本地已生效;连接后需在远程端再次运行命令,因为远程实例有自己的
locale.json - 某些企业策略插件(如 Microsoft Intune)会锁定
locale值,此时Configure Display Language命令不可用,且重启无效 - 启动时加参数验证:
code --log trace,然后在输出面板 →Log (Window)中搜索--locale=启动参数,看实际加载的是哪个值
插件 UI 仍是英文?不是汉化失败,是插件自己没中文资源
中文语言包只负责 VS Code 主体界面(菜单、侧边栏、设置页等),不控制第三方插件的 UI 文字。插件是否显示中文,取决于它自己是否内置 zh-cn 翻译资源。
- 打开插件详情页,查看 “Localization” 或 “Languages” 字段,有
zh-cn才可能汉化 - 像
GitLens、Prettier这类主流插件,部分版本只提供英文字符串,即使系统语言是中文,其弹窗、状态栏提示也仍是英文 - 验证是否真汉化:不能只看主菜单,要触发真实交互路径,例如:
-
GitLens:右键文件 → 看 “Git: Compare with HEAD” 是否变成 “与 HEAD 比较” -
Prettier:保存文件后,状态栏右侧显示 “Prettier” 还是 “已格式化”
-
- 插件缓存损坏时,删除
~/.vscode/extensions/插件ID目录后重装,避免旧版翻译资源残留
最容易被忽略的点是:locale.json 必须由 VS Code 自己生成,且路径、内容、权限三者缺一不可;而插件界面是否中文,和 VS Code 主体语言设置完全无关——那是插件作者的事,不是你漏了哪步操作。











