关键不是绕过验证,而是精准关闭签名验证、市场查询、lsp下载三步联网动作;code --install-extension必须加--allow-unverified参数,拖拽前需断网并确保vscode已加载工作区且有焦点。

直接跳过网络校验安装离线插件,关键不是“绕过验证”,而是让 VSCode 主动放弃它本想做的联网动作——签名验证、市场元数据查询、LSP 下载这三步,每一步都可精准关闭。
code --install-extension 必须加 --allow-unverified
离线环境下 code --install-extension 报 INVALID_SIGNATURE 不是文件坏了,是 VSCode 尝试连接微软证书服务器失败后直接拒装。它不会降级处理,只报错退出。
- 必须显式加
--allow-unverified参数:code --install-extension /path/to/python.vsix --allow-unverified - 该参数仅影响签名校验,不跳过依赖检查或入口文件验证
- Windows 路径含空格时,双引号必须包住整个路径:
code --install-extension "C:\vsix\ms-python.python-2024.6.0.vsix" --allow-unverified - Linux/macOS 必须用绝对路径,相对路径会静默失败
拖拽安装前必须断网 + 确保窗口状态合规
很多人拖 .vsix 进去没反应,以为是插件问题,其实是 VSCode 在拖放瞬间仍会发起 DNS 查询和 HTTPS OPTIONS 请求——只要网络通,它就卡在验证环节。
- 拔网线 / 关 Wi-Fi / 用防火墙屏蔽
marketplace.visualstudio.com和vscode-update.azurewebsites.net - VSCode 必须已加载一个工作区(哪怕只是空文件夹),不能停留在启动页
- 窗口要有系统焦点(任务栏高亮)、非全屏、未处于远程 SSH 或 RDP 会话中
- 拖的是原始
.vsix文件,不是重命名过的xxx.vsix.zip(Windows 会静默解压)
带 LSP 的插件光装 .vsix 没用,必须补 server 二进制
像 ms-python.python、volarjs.volar 这类插件,.vsix 只是前端壳。真正干活的 pyright-server 或 volar-server 是首次启用时动态下载的——离线时它就卡在 “Downloading…” 状态栏不动,也不报错。
- 正确做法:在有网机器上打开一个
.py或.vue文件,等状态栏显示 “Ready” 后,完整拷贝整个扩展目录:~/.vscode/extensions/ms-python.python-2024.6.0/ - 拷贝目标路径必须严格匹配:
%USERPROFILE%\.vscode\extensions\(Win)或$HOME/.vscode/extensions/(macOS/Linux) - 复制完必须彻底退出 VSCode(包括右下角托盘进程),否则 native 二进制不加载
- 验证方式:打开对应文件类型,按
Ctrl+Shift+P输入Developer: Show Running Extensions,确认 server 进程在列表中
最常被忽略的一点:VSCode 主版本号和插件 engines.vscode 字段必须字面量匹配,比如插件声明 "^1.89.0",而你用的是 1.90.0,即使只差一个小版本,也会拒绝加载——这个检查不联网,但完全静默,连日志都不写。











