vscode 1.85+ 默认隐藏旧版插件,需在市场url后加?vscodeversion=版本号;安装不兼容.vsix需解压修改package.json中engines.vscode字段再重打包;remote-ssh远端server版本必须与本地完全一致;插件静默禁用需手动改其package.json并执行developer: reload window。

插件市场页面不显示旧版插件选项
VSCode 1.85+ 默认隐藏所有 engines.vscode 声明低于当前版本的插件,哪怕 Marketplace 后台实际存在兼容版本,前端也不会渲染「Install Another Version…」菜单——这不是加载失败,而是主动过滤。
实操建议:
- 打开插件市场页(例如
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - 在 URL 末尾手动追加
?vscodeVersion=1.79.2(把1.79.2替换为你本地运行code --version得到的精确版本号) - 刷新页面,右下角应出现下拉菜单;只选带绿色勾号 ✅ 的版本
- 若整个菜单灰显,说明作者已撤下所有历史 release,需转向离线安装路径
手动安装 .vsix 时提示 “Extension is not compatible with Code”
双击或拖入 .vsix 文件失败,是因为 VSCode 在安装阶段就校验 package.json 中的 engines.vscode 字段,不满足即终止——这和运行时报错不同,连加载都不让进。
实操建议:
- 用
unzip(Linux/macOS)、7-Zip(Windows)或系统自带归档工具解压 .vsix 文件 - 编辑根目录下
extension/package.json,找到"engines": { "vscode": "^1.103.0" }这一行 - 改为宽松范围,例如
"vscode": ">=1.75.0"或精确锁定"vscode": "=1.79.2" - 保存后重新打包为 zip,再将后缀名改回
.vsix - 在 VSCode 中执行
Extensions: Install from VSIX命令安装
Remote-SSH 插件连接卡在 “Starting VS Code Server”
Remote-SSH 不是纯前端插件:它会在远端自动部署 vscode-server 二进制,该二进制版本必须与本地 VSCode 主程序主版本号完全一致(如本地是 1.79.2,远端 ~/.vscode-server 目录下的 server 也必须是 1.79.2)。
实操建议:
- 先确认本地 VSCode 版本:
code --version - 登录远端机器,执行
rm -rf ~/.vscode-server - 重连时 VSCode 会自动下载匹配的 server,不再复用旧缓存
- 若企业环境禁用了自动下载,需手动从
https://update.code.visualstudio.com/commit:COMMIT_HASH/server-linux-x64/stable下载对应 commit 的 server 包
插件已安装但被静默禁用且无法启用
插件出现在 Extensions: Show Installed Extensions 的 Disabled 列表中,点击启用无效,控制台报 Extension 'xxx' is not compatible with Code '1.79.2'——说明 VSCode 已读取并拒绝了其 engines.vscode 声明。
实操建议:
- 关闭 VSCode
- 定位插件目录:
~/.vscode/extensions/esbenp.prettier-vscode-9.10.3/(macOS/Linux)或%USERPROFILE%\.vscode\extensions\esbenp.prettier-vscode-9.10.3\(Windows) - 编辑该目录下的
package.json,修改engines.vscode字段值 - 重启 VSCode 后执行
Developer: Reload Window(仅点「启用」不够) - 注意:VSCode 更新后该字段会被自动还原,需重复修改
package.json 后必须执行 Developer: Reload Window 才生效——这两步跳过,前面所有操作都白做。











