唯一稳的方式是通过官方 marketplace 直链点击 download extension 获取带签名的临时 url,或手动构造含正确 publisher、extension_name 和 version 的 api 链接下载;下载后须重命名含平台标识,离线安装需加 --allow-unverified 参数,并预触发语言服务器下载二进制。

怎么下载真正能用的 .vsix 文件
别信 GitHub Release、第三方镜像站或浏览器插件生成的链接——它们常返回旧版、无签名、或平台不匹配的包。唯一稳的方式是走官方直链:https://marketplace.visualstudio.com/items?itemName=ms-python.python 这类地址,点右侧 Resources → Download Extension 按钮,生成的是带有效期签名的临时 URL,版本、平台、签名三者全对。
- 手动拼 API 也行,但必须三要素全对:
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{publisher}/vsextensions/{extension_name}/{version}/vspackage,其中publisher是ms-python,extension_name是python,version必须和 Version History 页面里完全一致(如2026.6.123456) - 下载后立即重命名,含平台标识,例如
python-2026.6.123456-darwin-arm64.vsix,避免在 M 系列 Mac 上误装 x64 版 - GitHub Release 的
.vsix常滞后或缺签名,离线安装时会报INVALID_SIGNATURE;若非用不可,务必校验package.json中的engines.vscode字段与 Marketplace Requirements 栏是否一致,并比对 SHA256
code --install-extension 总是报错?先盯住这三点
code --install-extension 不是“有文件就能跑”,VSCode 对路径、签名、进程状态极其敏感:
-
command not found: code:不是 PATH 问题,而是 VSCode 从未启用 Shell Command。在 VSCode 里按Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车执行 -
INVALID_SIGNATURE:离线环境无法校验微软证书链,必须加--allow-unverified参数,例如:code --install-extension python.vsix --allow-unverified - 装完
code --list-extensions不显示,或重启后仍不生效:大概率 VSCode 进程还在后台运行。关掉所有实例(包括系统托盘里的),Windows 下可用任务管理器结束所有Code.exe进程;路径含中文或空格(如C:\用户\张三\vsix\python.vsix)会静默失败,务必移到纯英文路径,例如C:\vsix\python.vsix,且 Windows 下推荐用正斜杠:code --install-extension "C:/vsix/python.vsix"
装上了却不工作?语言服务器根本没落地
像 ms-python.python、esbenp.prettier-vscode 这类插件,.vsix 只是外壳,首次激活才联网下载 pyright、prettier 等语言服务二进制。离线环境卡在 “Downloading…” 就是这个原因。
- 正确做法:在有网机器上完整触发一次——打开一个
.py或.vue文件,等状态栏显示 “Ready”,然后把整个~/.vscode/extensions/ms-python.python-2024.6.0/目录(含子目录里的 native 二进制)拷到内网机对应路径下 - 复制完必须彻底退出 VSCode,包括右下角托盘进程,否则缓存不刷新
- 最常被忽略的一点:
VSCode主版本号和插件engines.vscode字段必须严格匹配。比如ms-python.python-2024.6.0要求VS Code >= 1.85,而你内网机装的是1.84,就会直接拒绝加载
批量部署时怎么避免漏掉依赖插件
单个插件手动装没问题,但团队部署靠人肉下载容易漏掉隐式依赖——比如装了 esbenp.prettier-vscode 却没装 bradlc.vscode-tailwindcss,结果格式化功能直接失效。
- 最稳方式:在已配好的联网机器上导出完整列表:
code --list-extensions > extensions.txt,然后逐行用vsce download下载对应.vsix:vsce download ms-python.python@2024.6.0 - 别信插件页面写的 “Recommended”:那是推荐栏,不是依赖树;
package.json里的extensionDependencies字段才是真实依赖 - 批量安装前,先检查每条
.vsix的package.json,确认engines.vscode和本地 VSCode 版本兼容,否则装了也白装
.vsix 文件本身不匹配、签名绕过没加参数、语言服务器没预触发——这三件事漏掉任何一环,都会让整个流程停在“看似装好了,实际不能用”的状态。











