vs code 中文界面失效的主因是未执行 configure display language 命令并重启:必须通过命令面板选择 zh-cn,写入 locale.json 并强制重启(非手动重开),且需确保文件格式正确、缓存清空、系统区域设置兼容。

Configure Display Language 命令没执行或选错值
中文插件装了但界面还是英文,90% 是因为 VS Code 根本没“决定”用它。Configure Display Language 是唯一能写入生效配置的入口,跳过这步,装十遍也没用。
必须用 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板,输入并执行 Configure Display Language。列表里只能选 zh-cn,不是 zh、Chinese 或 zh-hans(后者只是包 ID,不是运行时 locale 值)。
选完后弹出提示,必须点 Restart——仅关闭再手动打开不算重启,托盘进程(Code Helper)不退出会导致配置未加载。
locale.json 文件缺失、格式错误或被覆盖
VS Code 实际只认 %APPDATA%\Code\User\locale.json(Windows)、~/Library/Application Support/Code/User/locale.json(macOS)或 ~/.config/Code/User/locale.json(Linux)里的 {"locale": "zh-cn"}。其他地方写的 "locale" 都无效,包括 settings.json。
内容必须是合法 JSON:"locale" 用双引号、冒号后有空格、值为小写 "zh-cn"(不是 "zh_CN" 或 "zh-Hans")。
如果该文件存在但值是 "en" 或为空,说明被工作区设置、远程开发环境或 IT 策略插件覆盖;临时关闭文件夹(File > Close Folder)再执行命令可绕过干扰。
.vsix 安装失败:版本不匹配或结构损坏
离线安装 .vsix 包报 not compatible with Code,大概率是插件声明的 engines.vscode 字段与你本地版本不匹配。
用 unzip -l your-plugin.vsix 确认根目录下有 extension/package.json;解压后修改其中的 "engines": {"vscode": "^1.103.0"} 为你当前 code --version 输出的主版本号(如 1.102.2 → 改成 "^1.102.0" 或 ">=1.85.0")。
重新打包必须用 zip 命令或 7-Zip;Windows 资源管理器双击解压再重命名会破坏 ZIP 结构,导致安装静默失败。
缓存残留或系统区域设置强制覆盖
即使 locale.json 正确、插件也装好了,部分菜单仍英文,大概率是缓存没清干净,或者系统语言设置在底层劫持了启动逻辑。
关掉所有 VS Code 进程后,删掉缓存目录:~/.vscode/.extensions-tmp(Linux/macOS)或 %USERPROFILE%\.vscode\.extensions-tmp(Windows)。
某些企业环境或 Windows 组策略会强制覆盖语言设置,此时需检查系统区域设置是否设为中文(控制面板 → 区域 → 管理 → 更改系统区域设置),若启用了“Beta: 使用 Unicode UTF-8 提供全球语言支持”,反而可能干扰 VS Code 的 locale 解析。
最常被忽略的是:VS Code 的语言切换和插件启用是两套独立机制。禁用所有插件、重装中文包、甚至重装 VS Code,只要没走 Configure Display Language 并彻底重启,locale.json 就不会被正确写入或加载。











