必须用MS-CEINTL.vscode-language-pack-zh-hans官方vsix,第三方汉化插件在VS Code 1.85+后因缺少contributes.localizations声明或vs/nls.js支持而无效;安装后须配置locale.json为{"locale":"zh-cn"}并彻底重启所有进程方可生效。

必须用 MS-CEINTL.vscode-language-pack-zh-hans 官方 vsix
第三方“汉化插件”在 VS Code 1.85+ 后基本无效,它们缺少 contributes.localizations 声明或不带 vs/nls.js 运行时支持,装了也切不出中文。官方包发布者 ID 必须是 MS-CEINTL,文件名形如 MS-CEINTL.vscode-language-pack-zh-hans-1.109.2026072801.vsix(注意时间戳为 2026 年 7 月)。别信百度搜出的网盘链接或压缩包,那些多是 1.72.x 等旧版,与当前 Stable/Insiders 不兼容。
安装后仍显示英文?检查 locale.json 和重启方式
VSCode 不靠扩展启用状态切换语言,它只认 locale.json 里写的值,并且必须彻底重启才能加载新语言资源。这个文件必须放在用户级配置路径:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
内容严格为:{"locale":"zh-cn"}(小写、连字符、双引号、UTF-8 无 BOM)。不要写成 zh_CN、ZH-CN、zh-hans 或带空格的 "zh-cn "——VSCode 会直接忽略该字段。装完后务必杀掉所有后台进程:Code.exe(Windows)、pkill -f "Code Helper"(macOS/Linux),再从开始菜单或应用坞启动,避免旧实例残留。
vsix 版本不匹配导致静默失败
Extension is not compatible 报错不一定代表版本错,更可能是架构或语义版本不满足。先运行 code --version,取主版本号(如 1.109.2 → 取 1.109);再解压 .vsix(它本质是 zip),打开 extension/package.json,确认 "engines": {"vscode": "^1.109.0"} 与本地匹配。若不匹配,手动改为此值,再用 7-Zip 或 PowerShell Expand-Archive 重新打包(别用资源管理器双击解压重命名,会破坏 ZIP 结构)。ARM Mac 用户要核对文件名是否含 darwin-arm64,x64 包在 ARM 设备上必然失败。
命令面板安装是唯一可靠路径
双击 .vsix、拖拽进窗口、甚至 code --install-extension 命令行都可能静默失败。VSCode 自 1.70 起禁用文件系统直载机制:这些操作只是把文件复制到 ~/.vscode/extensions/,但不会注册扩展 ID、不触发 nls bundle 加载、也不写入启用状态。正确做法是:启动 VSCode → Ctrl+Shift+P → 输入 Extensions: Install from VSIX → 选中文件 → 安装完成后再配 locale.json → 彻底重启。验证是否真启用:打开扩展面板,搜索 ms-ceintl.vscode-language-pack-zh-hans,必须看到“已启用”状态。
最容易被忽略的是底层依赖:VSCode ≤1.75 默认不启用 vs/nls.js 模块,而中文包翻译全靠它做字符串替换。如果你内网用的是企业统一推送的老版本(比如 1.72),哪怕装了最新语言包也没用——得先升级 VSCode 主程序。











