离线安装 vsix 插件最稳方式是直接拖入运行中且有焦点的vscode主窗口;若无反应,需确认是否获得焦点、未全屏/远程、拖入的是未解压的.vsix文件。

离线安装 VSIX 插件,最稳的方式就是直接拖进 VSCode 主窗口——只要 VSCode 正在运行、有焦点、没全屏也没连远程,松手就弹确认框,不走网络、不校验签名、不依赖 CLI 配置。
拖入主窗口没反应?先看这三件事
这是离线场景下最高频的“装不上”错觉,其实不是失败,是条件没满足:
- VSCode 没获得系统焦点:点击一下编辑器任意空白处,再拖;任务栏图标没高亮就大概率没焦点
- 当前处于全屏模式或远程桌面(如 RDP / TeamViewer):这类环境常拦截拖放事件,退出全屏或改用命令面板
- 拖的是解压后的文件夹或
.zip文件,不是原始.vsix:VSCode 只认未解压的压缩包,unzip -l xxx.vsix能看到顶层是extension/目录才对
code --install-extension 必须用绝对路径
相对路径在脚本或终端中容易失效,尤其跨目录执行时。VSCode CLI 不会自动补全或解析 ./,必须明确到根:
- Linux/macOS:
code --install-extension /home/user/ext/prettier-9.10.3.vsix - Windows(推荐正斜杠):
code --install-extension C:/vsix/ms-python.python-2024.6.0.vsix - 路径含空格或中文?加英文双引号:
code --install-extension "/path/to/my ext.vsix"
批量安装多个时,每个 --install-extension 参数都得带完整路径,不能只写文件名。
手动复制到 extensions 目录要解压+对齐 ID
适用于无 GUI 或权限受限的服务器环境,但步骤稍多,错一步就识别不到:
- 先用
unzip -l xxx.vsix查顶层目录名,比如esbenp.prettier-vscode-9.10.3/—— 这就是扩展 ID + 版本,必须原样作为子目录名 - 解压后把整个
esbenp.prettier-vscode-9.10.3/目录复制进~/.vscode/extensions/(Linux/macOS)或%USERPROFILE%\AppData\Roaming\Code\Extensions\(Windows) - 不能只复制里面的内容,也不能保留
.vsix文件本身;复制完必须彻底退出 VSCode(包括托盘进程),否则缓存不刷新
插件装了但不生效?别急着重装,先查兼容性
VSCode 对版本要求很静默:不报错、不提示、只是跳过加载。打开 .vsix 解压后的 package.json,重点看这一行:
"engines": {"vscode": "^1.80.0"}
如果你的 VSCode 是 1.79.2,它就会被完全忽略。命令行安装时会报 not compatible with VS Code '1.79.2',但拖放和图形界面不会提醒。另外,检查是否被工作区禁用:左下角齿轮 → Extensions → 找到插件 → 看右上角有没有 Disable (Workspace)。











