插件在 VS Code 1.85+ 上消失或右键无响应是因 engines.vscode 字段校验被静默禁用,需通过 Marketplace URL 添加 ?vscodeVersion=x.x.x 参数安装兼容版本,或离线解压修改 .vsix 中 extension/package.json 的 engines 字段为 ">=1.75.0" 等宽松范围后重打包安装。

插件在 VS Code 1.85+ 上直接消失或右键无响应
这不是插件损坏,而是 VS Code 主动拦截:从 1.85 开始强制校验 package.json 中的 engines.vscode 字段,声明版本低于当前值的插件会被静默禁用,甚至不进安装流程。
确认方式很简单:Ctrl+Shift+P → 输入 Extensions: Show Installed Extensions → 点右上角筛选器选 Disabled。如果插件出现在这里,且详情页顶部明确标着 Disabled,基本就是这个原因。
别点「启用」——VS Code 会立刻再次禁用它,因为校验发生在加载前,UI 状态不改变底层限制。
Marketplace 页面找不到旧版安装入口
VS Code 1.85+ 默认隐藏所有历史版本,但支持 URL 参数强制触发。打开插件市场页(比如 https://marketplace.visualstudio.com/items?itemName=fitten.fitten-code),在 URL 末尾手动加上 ?vscodeVersion=1.118.0(把 1.118.0 换成你本地 code --version 输出的精确版本)。
刷新后,右下角会出现 Install Another Version… 下拉菜单:
- 只选带绿色勾号 ✅ 的版本——这是 Marketplace 显式验证过的兼容版本
- 若整个菜单灰显,说明作者没发布任何匹配你版本的 release,必须走离线修改路径
- 高频出问题的插件包括
ms-python.python、esbenp.prettier-vscode、fitten.fitten-code,它们在 1.102+ 后大幅收紧了engines范围
离线安装 .vsix 时提示“版本不兼容”
.vsix 文件本质是 zip 包,自带绑定的 engines.vscode 校验,双击安装必失败。必须解包改元数据再重打包:
- 用
7-Zip(Windows)、Archive Utility(macOS)或unzip(Linux)解压fitten-code-*.vsix - 进入
extension/package.json(注意不是根目录那个),找到"engines": { "vscode": "^1.103.0" } - 改为宽松范围,例如
"vscode": ">=1.75.0"或精确锁定"vscode": "=1.118.0" - 保存后,重新打包为 ZIP,再把后缀名改回
.vsix - 在 VS Code 中执行
Extensions: Install from VSIX命令安装
改完不生效?试试 Developer: Reload Window,VS Code 有时会缓存旧的引擎判断逻辑。
Remote-SSH 连接卡在 “Starting VS Code Server”
Remote-SSH 不只是前端插件,它会在远端自动部署 vscode-server 二进制。这个 server 版本必须和本地 VS Code 主程序严格一致——差一个小版本都可能卡住。
比如本地是 1.118.0,远端却拉了 1.117.3 的 server,就会停在启动阶段,控制台也未必报错。
修复动作很直接:
- 先确认本地版本:
code --version - 登录远端机器,删掉旧 server:
rm -rf ~/.vscode-server - 重连,VS Code 会自动下载匹配的 server
- 如果远端网络受限,需手动下载对应 commit hash 的 server 包(可从
https://update.code.visualstudio.com/commit:+ 本地 commit id 获取)
最容易被忽略的是:改完本地插件 engines 字段后,远端 server 仍按原始版本拉取——它不读你改过的 package.json,只认 VS Code 主进程传来的版本号。


















