报“not compatible”主因是插件engines.vscode版本高于本地vscode,需用unzip -p提取字段比对code --version前两位;marketplace需加?vscodeversion=参数触发旧版列表,选✅标记版本,或改package.json适配。

离线安装插件报“not compatible with the current version of VS Code”,90% 的情况不是插件坏了,而是 engines.vscode 字段声明的最低版本高于你本地 VSCode 版本——VSCode 静默拒绝加载,连错误弹窗都不给。
怎么看插件要求的 VSCode 最低版本?
别猜,直接从 .vsix 里抽出来看:
- 用
unzip -p plugin.vsix extension/package.json | grep engines提取关键字段,典型输出是"vscode": "^1.85.0" - 运行
code --version,取前两位(如1.92.2→1.92),必须 ≥ 插件声明的最低版本 - 如果本地是
1.81.1,而插件要求^1.85.0,差一个小版本就失败,不是“差不多能用”
怎么选对兼容的旧版插件?
Marketplace 默认不展示旧版,得手动触发:
- 打开插件市场页(如
https://marketplace.visualstudio.com/items?itemName=ms-python.python) - 在 URL 末尾加参数
?vscodeVersion=1.81.1(替换成你的真实版本) - 刷新后点「Install Another Version」,只选带 ✅ Compatible 标记的版本
- 或直接去
open-vsx.org搜索,它比官方市场更透明地列出所有历史.vsix直链
装上了还是报不兼容?检查架构和文件完整性
ARM Mac / Linux ARM64 机器上,x64 构建的 .vsix 会静默失效;损坏的包也会被跳过:
- Help → About 里确认架构(
x64还是arm64),再去 Marketplace 的versionhistory页面选对应平台的旧版下载 - 运行
unzip -t plugin.vsix,输出含OK才算完整;若报错或无输出,说明文件已损坏或被浏览器重命名为.vsix.zip - Windows 下路径含空格或中文?命令行安装时必须用英文双引号包裹全路径,如
code --install-extension "C:\my ext\ms-python.python-2023.10.1.vsix"
真正容易被忽略的是:插件装进 ~/.vscode/extensions/ 后,VSCode 不一定立即识别——它会在首次启用时才校验 package.json 并加载。所以“已安装”不等于“已激活”,重启 VSCode 或执行 Developer: Reload Window 是必要步骤。











