最稳方式是直接从官方marketplace页面点击“download extension”按钮下载,需确保url为纯净官方链接(如https://marketplace.visualstudio.com/items?itemname=ms-python.python),避免缓存页、镜像站或带ssr参数的跳转页;若手动构造api url,publisher取itemname中点号前部分(如ms-python),extension_name取点号后完整部分(如python),version须从version history精确复制,缺一不可。

直接从 Marketplace 页面点“Download Extension”是最稳的,但很多人点完没反应、下到空文件、或装上后报 INVALID_SIGNATURE——问题不在你操作错,而在 URL 来源、VS Code 版本、或离线环境缺验证链。
点“Download Extension”按钮却没下载?检查 URL 是否带签名
官网插件页右侧的 Download Extension 按钮本身没问题,但前提是:你必须从原始 Marketplace 链接打开页面,而不是缓存页、镜像站、或搜索引擎跳转页。常见失效场景:
- 从百度/知乎搜“Python 插件 VSCode”,点进去的链接形如
https://xxx.com/mirror/ms-python.python→ 点按钮返回 404 或 HTML 页面 - 页面 URL 是
https://marketplace.visualstudio.com/items?itemName=ms-python.python&ssr=true(带ssr=true)→ 按钮生成的下载链接无效 - 浏览器启用了广告屏蔽或隐私扩展(如 uBlock Origin),会拦截带
_apis/路径的请求 → 下载静默失败
正确做法:手动核对地址栏,确保是纯净的官方域名 + ?itemName= 参数,例如:https://marketplace.visualstudio.com/items?itemName=ms-python.python。打开后直接点右侧按钮,浏览器应立即触发下载。
用命令行构造 URL 下载时,publisher 和 extension_name 怎么拆?
itemName 字段不是随便切的。比如 ms-python.python 中,ms-python 是 publisher,python 是 extension_name;而 ms-python.vscode-pylance 的 extension_name 是 vscode-pylance,不是 pylance。错一个字符,拼出的 URL 就 404。
- publisher 一定在
.左侧,且全小写、无空格、无下划线(如eamodio、ms-ceintl) - extension_name 是
.右侧全部内容,保留连字符和大小写(vscode-pylance≠pylance) - version 必须从 Version History 标签页里抄,不能看主页面写的“Latest version”,那个常滞后
- 最终 URL 格式严格为:
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{publisher}/vsextensions/{extension_name}/{version}/vspackage
code --install-extension 报 INVALID_SIGNATURE 怎么办?
这是离线环境最典型的卡点:VS Code 默认启用签名验证,但内网机器无法连接微软证书服务器,导致校验失败。不是文件坏了,也不是你下错了,就是网络断了验证链。
- 加
--allow-unverified参数即可绕过:code --install-extension python-2026.8.0.vsix --allow-unverified - 别用
--force,它不解决签名问题,只跳过已存在检查 - 装完必须重启 VS Code,否则
Developer: Show Running Extensions里看不到它——这不是没装上,是没加载 - 如果插件依赖其他扩展(如
ms-python.python强依赖ms-python.pylance),只装主包会静默失败,得把依赖项一起下、一起装
装完不生效,第一件事查 package.json 里的 engines.vscode
很多插件的 .vsix 包里 package.json 明确写了兼容范围,例如:"engines": {"vscode": "^1.85.0"}。如果你用的是 VS Code 1.84,哪怕装成功、没报错、也出现在已安装列表里,它也不会激活。
- 解压 .vsix 文件(它本质是 ZIP),打开根目录下的
package.json - 找
engines.vscode字段,对照你本地 VS Code 版本(Help → About) - 版本不匹配时,不要硬凑,去 Marketplace 找低版本发布页,或升 VS Code
- 别信 GitHub Release 页的 .vsix —— 很多开源插件的 Release 不同步 Marketplace,
engines字段可能没更新
真正麻烦的从来不是“怎么下”,而是“下哪个版本、给哪台机器用、它到底认不认”。每一步都得对齐 publisher、extension_name、version、targetPlatform、VS Code 引擎版本这五个参数,漏一个,就白忙半小时。











