vscode中文界面失效的根本原因是locale.json被覆盖为"en",而非插件问题;正确解法是在settings.json中添加"locale": "zh-cn"并重载窗口,该配置持久、同步且优先级高于locale.json。

VSCode中文界面失效,根本不是插件没装好
VSCode 更新后中文变英文,大概率不是因为你没装 Chinese (Simplified) Language Pack,也不是插件被禁用了——而是 locale.json 被覆盖成了 "locale": "en"。这个文件在 Windows 的 %APPDATA%\Code\User\locale.json、macOS 的 ~/Library/Application Support/Code/User/locale.json、Linux 的 ~/.config/Code/User/locale.json,每次自动更新 + 后台重启时都可能被重写。
验证方式很简单:按 Ctrl+Shift+P 运行 Configure Display Language,看当前值是不是 zh-cn。如果不是,就说明 locale 配置丢了。
- 别指望“已安装汉化包”就等于界面是中文——它只是翻译资源,不主动启用
- 命令面板里选
zh-cn只是临时改locale.json,下次更新还可能丢 - 系统语言设成中文也没用,新版 VSCode(1.75+)已不再读取系统 locale 推断界面语言
settings.json 里加 "locale": "zh-cn" 才是持久解法
locale.json 易被覆盖,但 settings.json 不会。VSCode 1.80+ 明确支持在用户设置中声明 "locale" 字段,且优先级高于 locale.json。只要 settings.json 没被外部工具清空,这个配置就一直有效。
操作步骤极简:
- 按
Ctrl+Shift+P→ 输入Open User Settings (JSON)→ 回车 - 在大括号内加一行:
"locale": "zh-cn"(注意英文引号、冒号、逗号) - 保存(
Ctrl+S),然后运行Developer: Reload Window即可立即切换,不用彻底退出
如果同时存在 locale.json 和 settings.json 中的 "locale",后者胜出。这是目前最稳、最同步友好的方案。
同步配置时,"locale": "zh-cn" 必须进 settings.json
如果你用 VSCode 内置的 Settings Sync(Microsoft 账户登录)或 sync-settings 插件,locale.json 默认不参与同步,但 settings.json 是默认同步项。所以把 "locale": "zh-cn" 放进 settings.json,才能保证多台设备语言一致。
- 检查 Settings Sync 设置里是否勾选了
User Settings - 避免在 A 机设
zh-cn、B 机设en,否则同步后互相覆盖 - 插件列表(extensions)和界面语言是两回事——汉化包得单独装,不能靠同步自动装
别碰 product.json,也别信 VSCODE_LANG 环境变量
有人试过改系统区域、设 VSCODE_LANG=zh-cn、甚至用 code --locale=zh-cn 启动——这些在 VSCode 1.75+ 基本无效。VSCODE_LANG 已被移除支持;--locale 只影响当次会话,不持久、不同步。
唯一能禁用语言包自动更新的方式是修改安装目录下的 resources/app/product.json,加 "enableLanguagePacks": false,但这会让界面回退到英文,且主程序升级时该字段大概率被重置,风险远大于收益。
真正要盯住的只有两件事:装对插件(认准 Microsoft 发布的 ms-ceintl.vscode-language-pack-zh-hans),以及把 "locale": "zh-cn" 锁死在 settings.json 里——其他路径都是绕远路。











