vs code旧版本(如1.72、1.75、1.80)要求语言包engines.vscode字段与本地code --version主版本严格语义匹配,否则静默不加载;需手动解压.vsix、修改extension/package.json中vscode范围(如"^1.75.0"),重打包安装,并设locale.json为{"locale":"zh-cn"}后彻底重启。

确认 VS Code 主版本号和语言包兼容范围
旧版 VS Code(比如 1.72、1.75、1.80)对语言包的引擎约束更严格,package.json 中的 "engines": {"vscode": "^1.72.0"} 必须与你本地 code --version 输出的主版本号完全语义匹配。例如你装的是 1.72.2,那语言包的 engines.vscode 至少得是 ^1.72.0;若写的是 ^1.75.0,VS Code 就会直接拒绝加载。
常见错误现象:安装后扩展列表里看不到语言包、右下角状态栏仍显示 en、设置页全英文,且无任何报错提示。
- 用 PowerShell 或终端执行
code --version,取第一段(如1.72.2→1.72) - 去官网下载对应版本的语言包:marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans,拉到底部点 Download Extension
- 别用百度搜出的“VSCode 1.72 汉化包”网盘链接——那些多是伪造 ID 或未签名的旧包,VS Code ≥1.76 启动时会跳过加载
解压修改 package.json 强制适配旧版本
如果你手头只有新版语言包(比如 MS-CEINTL.vscode-language-pack-zh-hans-1.90.2.vsix),但目标机器是 1.75.1,可手动调整兼容性。VS Code ≤1.75 默认不启用 vs/nls.js 模块,所以必须确保语言包被识别并注入。
操作要点:
- 用
7-Zip或PowerShell Expand-Archive解压 .vsix(Windows 资源管理器双击解压会破坏 ZIP 结构) - 打开
extension/package.json,找到"engines": {"vscode": "^1.90.0"},改成匹配你旧版的范围,例如"^1.75.0" - 改完保存,用 7-Zip 重新打包为 ZIP,再把后缀改为
.vsix - 注意:不要用 WinRAR 直接“重命名”为 .vsix,它可能保留非标准压缩头,导致 VS Code 安装时静默失败
安装后必须设 locale 为 zh-cn 并彻底重启
旧版 VS Code(特别是 ≤1.75)不支持 zh-hans 作为显示语言标识,填错就等于没配。而且它依赖用户级 locale.json 文件触发初始化,settings.json 里的 "locale": "zh-cn" 是无效的。
正确路径和内容:
- Windows:
%APPDATA%\Code\User\locale.json - Linux:
~/.config/Code/User/locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - 文件内容严格为:
{"locale":"zh-cn"}(小写、连字符、UTF-8 无 BOM) - 装完后必须杀掉所有后台进程:Windows 用任务管理器结束全部
Code.exe;macOS/Linux 执行pkill -f "Code Helper"和pkill -f Electron
为什么旧版更容易卡在“已安装但不生效”
VS Code ≤1.75 的语言加载机制和新版不同:它不自动扫描 extensions 目录下的语言包,而是靠启动时读取 locale.json 后,再去匹配已注册的 ms-ceintl.vscode-language-pack-zh-hans 扩展。如果扩展没通过 Extensions: Install from VSIX 注册,只是手动扔进目录,或用了第三方 ID 的包,VS Code 根本不会尝试加载翻译资源。
最容易被忽略的一点:企业内网批量部署的旧版 VS Code(如 1.72.x),常被 IT 部门禁用了 vs/nls.js 模块。此时即使语言包版本、locale、安装方式全对,界面仍是英文——这种情况下,唯一解法是升级 VS Code 到 ≥1.76,否则无法绕过该限制。











