必须使用官方插件ms-ceintl.vscode-language-pack-zh-hans,第三方包在vs code 1.85+后基本失效;离线安装需匹配stable/insiders版本,不兼容时可解压修改package.json中engines.vscode字段。

装不上中文包,90% 是因为没用对官方插件名或版本硬不匹配——不是网络问题,也不是操作顺序错,而是 VS Code 启动时根本没加载语言包,或者加载了但拒绝激活。
必须用 MS-CEINTL.vscode-language-pack-zh-hans 这个 ID
第三方汉化包(比如叫 “Chinese Language Pack” 但发布者不是 MS-CEINTL)在 VS Code 1.85+ 后基本失效。它们要么不带 vs/nls.js 运行时支持,要么 package.json 里没声明正确的 contributes.localizations 字段。
- 正确下载路径:打开 官网页面 → 拉到底部点 Download Extension → 得到类似
MS-CEINTL.vscode-language-pack-zh-hans-1.90.2.vsix的文件 - 别信百度搜出来的网盘链接,那些多是旧版(如 1.72.x),不兼容当前 VS Code
- Stable 和 Insiders 版本语言包不通用,
1.90.2的包不能装进1.91.0-insider
code --install-extension 报 “not compatible with Code” 怎么快速修
错误本质是 package.json 里的 "engines": {"vscode": "^1.85.0"} 和你本地 code --version 输出的主版本号(如 1.90.2 → 取 1.90)不满足语义化匹配规则。
- 用
unzip -l your-plugin.vsix确认根目录下有extension/package.json - 解压后打开它,直接改
engines.vscode字段为你的实际版本(例如从"^1.85.0"改成),再重新打包成 ZIP → 改后缀为 <code>.vsix - Windows 下别用资源管理器双击解压再重命名,会破坏 ZIP 结构;用 PowerShell 的
Expand-Archive或 7-Zip
装完重启还是英文?检查这三个地方
VS Code 不是“装上就生效”,它要同时满足:插件已安装、locale 配置可识别、启动时能加载对应 nls bundle。
- 删掉
settings.json里手动写的"locale": "zh-cn"——这个值必须是zh-hans,写错就报invalid locale value - Windows 上若系统区域设为英语且开了 “Beta: Use Unicode UTF-8”,会跳过语言包;macOS/Linux 检查
LANG=en_US.UTF-8是否覆盖了 VS Code 自动探测 - 双击桌面快捷方式可能启动旧版 VS Code 实例;关掉所有进程(包括系统托盘里的
Code Helper),再从开始菜单/应用坞启动
离线环境最常被忽略的底层机制
中文包不是独立运行的插件,它依赖 VS Code 内置的 vs/nls.js 模块做字符串替换。VS Code ≤1.75 默认不启用该模块,1.76+ 才默认注入。所以:
- 如果你用的是老旧内网镜像源部署的 VS Code(比如企业 IT 统一推送的 1.72 版),即使装了最新语言包也白搭
- 不要试图用
vsce package重打包语言包来“绕过校验”——它不生成 nls bundle,只打了个空壳 - 真正有效的离线方案,是在一台同版本、同架构(win32-x64 / darwin-arm64)的联网机器上完整走一遍安装 + 启动 + 切换语言流程,再把整个
~/.vscode/extensions/MS-CEINTL.vscode-language-pack-zh-hans-*文件夹拷过去











