直接原因是插件package.json中"engines.vscode"字段与当前vscode版本不匹配,导致marketplace在下载前硬性拦截;应优先通过url参数?vscodeversion=x.x.x强制显示兼容旧版,或离线修改.vsix中engines字段并重打包安装,remote-ssh类插件还需同步清理远端~/.vscode-server。

插件报“Extension is not compatible with Code x.x.x”直接原因
这不是网络问题,也不是插件损坏,而是 VSCode 市场(Marketplace)在下载前就根据插件 package.json 里的 "engines": { "vscode": "^1.102.0" } 字段做了硬性拦截。你当前运行的是 code --version 输出的 1.85.2,而插件只声明支持 ≥1.102.0,VSCode 就连安装包都不会给你——根本不会走到“加载失败”那步。
优先用 URL 参数强制显示旧版列表
市场页面默认不展示历史版本,但支持手动触发。操作极简,且保留签名验证,最安全:
- 打开插件市场页,例如
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode - 在 URL 末尾追加
?vscodeVersion=1.85.2(务必替换成你本地code --version的精确输出) - 刷新页面,右下角出现
Install Another Version…下拉菜单 - 只选带绿色勾号 ✅ 的版本;若整个菜单灰显,说明作者已撤下所有兼容版本,需走离线路径
离线安装 .vsix 时提示“版本不兼容”的修复步骤
.vsix 是 zip 包,双击安装会跳过校验直接失败。必须解包、改字段、重打包:
- 用 7-Zip(Windows)、Archive Utility(macOS)或
unzip(Linux)解压该.vsix文件 - 编辑根目录下
extension/package.json,找到"engines": { "vscode": "^1.103.0" } - 改为宽松范围,例如
"vscode": ">=1.75.0"或精确锁定"vscode": "=1.85.2" - 保存后,重新打包为 zip,再将后缀名改回
.vsix - 在 VSCode 中执行
Extensions: Install from VSIX命令安装
Remote-SSH 类插件失效必须同步清理远端 vscode-server
这类插件不是纯前端,它会在远端自动部署 vscode-server 二进制。这个 server 版本必须和本地 VSCode 主程序严格一致:
- 本地是
1.85.2,远端却残留着1.102.3的 server,连接就会卡在Starting VS Code Server - 别只改本地插件,必须先在远端执行
rm -rf ~/.vscode-server - 重连时 VSCode 会自动拉取匹配的 server,否则永远无法建立完整通道
最容易被忽略的是:改完 package.json 后没执行 Developer: Reload Window,或者远端 ~/.vscode-server 没清干净——这两处任一遗漏,都会让修复看起来“没生效”。











