VSCode连不上插件市场主因是DNS解析失败或TLS握手重置,真正生效的是extensions.gallery.serviceUrl配置或系统环境变量,且必须彻底退出所有进程后重启才生效。

VSCode 连不上插件市场,90% 以上不是插件坏了、VSCode 崩了,而是它根本没发出去请求——要么 DNS 解析失败,要么 TLS 握手被重置,要么压根连错了地址。改 http.proxy 基本无效,真正起作用的是 extensions.gallery.serviceUrl 或系统级环境变量,且必须彻底退出进程才生效。
为什么改了 http.proxy 还是转圈?
VSCode 扩展市场页面(搜索、加载列表、安装)不走 http.proxy 配置项,它用的是 Electron 底层网络栈,只认系统环境变量或硬编码的市场 URL。你填了 "http.proxy": "http://127.0.0.1:7890",控制台 Network 面板里根本看不到任何对 marketplace 的请求,就是白配。
-
http.proxy只影响极少数后台行为,比如自动更新检查、语言包下载,和插件市场无关 - 填错格式(比如漏掉
http://前缀、写成localhost)会导致静默失效,无报错也无日志 -
http.proxyStrictSSL设为false只解决证书校验失败,不解决“连不上”本身 - 网上流传的
VSCODE_PROXY_SUPPORT环境变量根本不存在,VSCode 官方不识别
怎么配国内镜像源才真正生效?
最稳路径是换源:把默认市场地址换成微软 Azure 中国 CDN https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/。这不是代理,是真实托管的合法镜像,协议兼容、签名验证一致、主流插件同步及时。
- 必须同时配置
extensions.gallery.serviceUrl和extensions.gallery.cacheUrl,否则 publisher 列表空白、扩展页卡死 - 两个 URL 末尾都必须带
/,少一个会返回 404,界面静默卡住,不报错 - 不能拼错路径大小写:
extensionGallery是正确写法,extensiongallery会失败 - 改完后必须彻底退出所有 VSCode 进程:Windows 右键任务栏图标 →「退出」,再进任务管理器杀光
Code.exe和Code Helper.exe;macOS 用活动监视器杀掉全部Code和Code Helper
离线安装 .vsix 时为什么报 “Corrupted ZIP” 或 “Not compatible”?
VSCode 1.77+ 默认启用签名验证和版本强校验,不是随便拖个 .vsix 就能装。常见失败不是文件损坏,而是校验链断了。
- 先检查
.vsix根目录下extension/package.json中的engines.vscode字段,比如值为"^1.90.0",而你本地 VSCode 是1.85.2,必然失败 - 别试图重命名
.vsix为.zip后修改package.json再打包——签名校验通不过,安装仍中止 - 从非官方渠道下载的
.vsix(比如 GitHub 第三方脚本生成的)可能缺失微软签名,VSCode 会直接拒绝 - 手动安装命令是
code --install-extension /path/to/plugin.vsix,路径必须是绝对路径,相对路径在某些终端下会失败
环境变量方式启动 VSCode 为何有时也不生效?
环境变量只在特定启动方式下被继承。双击图标、开始菜单、Dock 启动的 VSCode,通常完全读不到 shell 里的 HTTPS_PROXY。
- Linux/macOS 必须用终端执行
code启动,且变量要写在~/.profile(macOS 推荐~/.zprofile),而不是~/.zshrc - Windows 下建议在「系统属性 → 高级 → 环境变量」中设系统级
HTTPS_PROXY,并重启资源管理器或重装 VSCode 启动器 - 代理地址必须带协议头:
https://127.0.0.1:7890或http://127.0.0.1:7890,只写127.0.0.1:7890会导致请求卡在 pending 状态 - SOCKS5 代理(如
127.0.0.1:1080)VSCode 不原生支持,需用privoxy转成 HTTP 代理再填
最容易被忽略的一点:所有配置改完后,VSCode 后台服务(Extension Host)可能还在用旧缓存地址跑着。不彻底杀进程,等于没改。


















