VSCode插件下载慢主因是直连境外marketplace.visualstudio.com受阻,正确配置http.proxy为http://127.0.0.1:7890并设http.proxyStrictSSL为false最直接有效,需彻底退出VSCode进程生效。

VSCode 插件下载慢,90% 以上不是网络本身差,而是默认直连境外 marketplace.visualstudio.com 被卡在 DNS、TLS 握手或 CDN 回源阶段——填对 http.proxy 并关掉 SSL 校验,比换镜像源更直接有效,尤其适合已有代理工具(Clash/Surge)的用户。
http.proxy 必须用 127.0.0.1 + 端口,不能写 localhost
VSCode 的 http.proxy 值必须是 http://127.0.0.1:7890 这种格式,localhost:7890 或 127.0.0.1:7890(缺协议头)都会被静默忽略。Windows/macOS 默认把 localhost 加入 bypass 列表,导致请求根本没发到代理进程。
- 验证是否生效:终端执行
curl -x http://127.0.0.1:7890 https://httpbin.org/ip,返回真实出口 IP 才算通 - 如果返回
Connection refused,检查代理工具「System Proxy」是否开启,且监听地址确实是127.0.0.1:7890 - Clash 默认端口是 7890,Surge 是 6152,别凭记忆填错
http.proxyStrictSSL 必须设为 false
自签名代理证书(如 Clash 的 HTTPS 拦截、Fiddler/Charles)会导致 VSCode 在 TLS 握手阶段直接中断连接,错误表现为请求 pending 或报 DEPTH_ZERO_SELF_SIGNED_CERT。这不是网络不通,而是证书校验失败。
- 在
settings.json中必须同时配这两行:"http.proxy": "http://127.0.0.1:7890"和"http.proxyStrictSSL": false - 只配
http.proxy不关 SSL 校验,等于没配——VSCode 会拒绝所有经代理的 HTTPS 请求 - 别在系统环境变量里设
HTTPS_PROXY来绕过,VSCode 不读它
Remote-SSH 场景下,代理要配在远程机器上
你在本地 VSCode 里配了 http.proxy,对 Remote-SSH 安装插件完全无效。插件安装请求是从远程服务器发起的,和你本地网络无关。
- 正确路径是修改远程机上的
~/.vscode-server/data/Machine/settings.json - 内容只需两行:
"http.proxy": "http://192.168.1.100:7890"(注意:这里不能用127.0.0.1,得填你本机局域网 IP,并确保代理软件开了allow-lan: true) - 改完必须彻底断开 SSH 连接再重连,不是刷新窗口
- 别往
~/.bashrc里 exportHTTP_PROXY,vscode-server 启动时不加载它
命令行安装仍失败?先关代理再试
code --install-extension 命令会继承当前 shell 的代理设置,但有时和 VSCode GUI 的行为不一致——比如 Clash 正在运行但未全局,命令行却意外走代理,结果卡在 connect ETIMEDOUT。
- 临时禁用代理安装:
code --proxy-settings=off --install-extension esbenp.prettier-vscode - 或强制指定镜像源:
VSCODE_EXTENSIONS_MSA_URL=https://vscode.cdn.azure.cn code --install-extension esbenp.prettier-vscode - 某些插件(如
ms-python.python)会额外下载语言服务器二进制包,这部分不走 gallery 协议,镜像源和代理都无效,只能手动下载离线安装
最常被忽略的一点:改完 settings.json 后没彻底退出 VSCode 进程。Windows 任务管理器里残留 code.exe,macOS Activity Monitor 里还有 Code Helper,都会让新配置不生效——不是配置错了,是旧进程还在跑。











