需修改VSIX包中package.json的"vscode"兼容版本字段,使其匹配本地VS Code版本(如1.91.2),用7-Zip或unzip解压后编辑,避免双击破坏ZIP结构。

错误信息含“not compatible with VS Code '1.xxx'”怎么修
这是最典型的离线安装失败现象,本质不是包坏了,而是 package.json 里声明的兼容版本和你本地 VS Code 版本不匹配。VS Code 启动时会严格校验 "engines": {"vscode": "^1.90.0"} 这类字段,不满足语义化规则就直接拒载。
- 先运行
code --version确认你的完整版本号(如1.91.2) - 用 7-Zip(Windows)、
unzip -l your.vsix(Linux/macOS)打开下载的MS-CEINTL.vscode-language-pack-zh-hans-*.vsix,确认根目录下有extension/package.json - 解压该文件(别用资源管理器双击——会破坏 ZIP 结构),编辑
extension/package.json中的"vscode"字段,改成"^1.91.0"或更宽松的=1.85.0" - 重新打包为 ZIP,再把后缀名改为
.vsix(注意:是改后缀,不是重命名;确保内部结构不变)
装完重启还是英文?检查 locale.json 三要素
语言包装成功 ≠ 界面变中文。VS Code 必须读到正确的 locale.json 才会加载翻译资源,且这个文件必须同时满足路径、格式、值三个条件,缺一不可。
- 路径必须精准:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 内容必须是合法 JSON:
{"locale": "zh-cn"}(双引号、冒号后有空格、值全小写、短横线) - 别写进
settings.json,也别写成zh_CN、zh-hans或Chinese——这些都会被忽略或报 invalid locale value
离线环境下“签名无效”或卡在“正在安装”
VS Code 1.85+ 默认启用扩展签名验证,离线时无法联网校验 embedded certificate,会静默失败或卡住。这不是安全风险,是机制限制。
- 别双击 .vsix 文件安装——VS Code 自 1.70 起已禁用该方式
- 别关防火墙或调系统时间——对签名验证完全无效
- 唯一可靠路径:改完
engines.vscode后,通过命令面板执行Extensions: Install from VSIX - 如果仍卡住,可临时在
settings.json加一行"extensions.installVerification": false(装完务必删掉)
虚拟机 / Remote-SSH 场景下中文不生效
本地配好了 locale.json,连上虚拟机或 Remote-SSH 后还是英文,是因为 VS Code Server 是独立进程,它只读远程机器上的配置,不继承本地设置。
- 登录远程环境,找到
~/.vscode-server/data/Machine/下带哈希名的子目录(若没有,先开个远程文件夹触发 Server 启动) - 在该子目录下新建或编辑
locale.json,内容仅{"locale": "zh-cn"} - 在 VS Code 远程窗口中按
Ctrl+Shift+P→ 输入Developer: Reload Window(不是本地窗口!) - 别往
~/.bashrc里写export HTTP_PROXY—— SSH non-interactive shell 不加载它
locale.json。改版本号、写对路径、选对值,这三步漏掉任何一环,都会让整个流程白忙。


















