VSCode插件下载失败主因是网络链路中断,需按OSI模型反向排查:先执行curl -v https://marketplace.visualstudio.com验证底层连通性,再检查Network面板请求域名、代理配置、证书校验及.vsix签名验证等环节。

VSCode插件下载失败,90% 不是插件问题,而是网络链路在某一层被卡死——必须按 OSI 模型反向排查,跳过“重试”“重装”这类无效动作。
curl -v https://marketplace.visualstudio.com 能通吗?
这是最硬的验证起点。VSCode 底层用 Node.js 的 fetch() 发请求,但你可以在终端直接复现它:
- 执行
curl -v https://marketplace.visualstudio.com,观察是否卡在TLS handshake、返回ERR_CONNECTION_RESET或超时 - 如果 curl 也失败,说明问题在系统网络层(DNS 污染、防火墙拦截、TLS 版本不兼容),VSCode 自身配置再改也没用
- 若 curl 成功但 VSCode 失败,说明是 VSCode 进程被代理/杀软劫持,或
http.proxyStrictSSL校验过严 - 别信浏览器能打开就等于通——浏览器走的是系统代理+证书信任链,VSCode 是 Electron 内置 Chromium,证书和代理策略独立
Network 面板里看到的请求发往哪个域名?
按 Ctrl+Shift+P → 输入 Developer: Toggle Developer Tools → 切到 Network 标签页,点一次“Install”,看实际请求地址:
- 如果是
https://marketplace.visualstudio.com/_apis/public/gallery:微软官方源,国内常因 TLS 握手或 DNS 解析失败静默中断 - 如果是
https://open-vsx.org:VSCode 1.85+ 默认 fallback 地址,但该域名在国内 DNS 经常解析失败或返回 404 - 如果是
https://vscode.cdn.azure.cn或https://vscode-ext.oss-cn-shenzhen.aliyuncs.com:镜像源生效,但要注意末尾必须带/,少这个会 404 - 看到
net::ERR_CERT_DATE_INVALID或ERR_CONNECTION_REFUSED,不是插件问题,是证书或端口被拦
settings.json 里有没有错配的 http.proxy?
VSCode 不继承系统环境变量里的 HTTP_PROXY,只认设置里的 http.proxy 字段,且极易配错:
- 值为
http://127.0.0.1:7890但你没开 Clash/Surge,这就是假代理,删掉整行 - 开了代理但没设
"http.proxyStrictSSL": false,自签名证书会直接拒绝连接,导致 XHR failed - 企业环境中某些安全软件(如 360、深信服)会静默注入代理,即使你没配,
Network面板也会显示异常请求头 - 禁用所有代理软件的「TUN 模式」或「系统代理」开关,再重启 VSCode,比调设置更有效
手动安装 .vsix 为什么还是提示 Unable to load extension?
这不是文件损坏,是 VSCode 在加载本地 .vsix 前,仍会尝试联网校验签名:
- 必须先断网(拔网线 / 关 Wi-Fi),再启动 VSCode,再拖入
.vsix,否则卡在 fetch 阶段 - 临时关校验:在
settings.json加"extensions.installVerification": false(仅调试用,验证完立刻删) - 检查
.vsix解压后package.json中engines.vscode字段,比如你本地是1.92.0,插件写"^1.93.0"就真不兼容 - Windows 用户路径含中文或空格(如
C:\Users\张三)会导致 Node.js 子进程路径未转义崩溃,VSCode 不报错,只干等
真正卡住人的从来不是“怎么装”,而是 VSCode 在扩展宿主进程、网络栈、证书链、文件系统之间做了太多静默决策——它不告诉你哪一层断了,只甩一个 Failed to fetch。排查时务必从 curl 和 Network 面板开始,而不是先去删缓存或重装。


















