优先修改extensions.gallery.serviceurl为国内镜像源(如https://vscode.cdn.azure.cn/extensiongallery/extensiongallery/),并彻底退出vscode所有进程后重启;同时清除错误http.proxy配置、检查dns污染或企业网络拦截,或手动安装.vsix文件兜底。

VS Code 插件市场连接超时,90% 以上不是网络断了,而是请求根本没发出去——marketplace.visualstudio.com 域名被 DNS 污染、TLS 握手失败、或 VS Code 自身网络栈绕过了系统代理。
检查浏览器能否直连 marketplace
先排除是不是本地网络真坏了:在 Chrome/Firefox 里打开 https://marketplace.visualstudio.com/items?itemName=ms-python.python。打不开?问题在系统级网络或 DNS;能打开但 VS Code 里卡在 “Loading extensions…”?说明是 VS Code 独立网络栈的问题,不是网本身。
常见干扰点:
-
nslookup marketplace.visualstudio.com返回127.0.0.1或超时 → DNS 污染,需改 hosts 或换 DNS - 公司网络拦截 SNI 请求(尤其对
vscode.blob.core.windows.net)→ 即使代理开着也白搭,得让 IT 放行 - Clash/Quantumult 开了「全局」但没开「TUN 模式」→ VS Code 不走代理,curl 能通但插件不行
改 extensions.gallery.serviceUrl 是最快生效的解法
VS Code 不 fallback,默认死守 https://marketplace.visualstudio.com。不改这个配置,清缓存、重装、换代理全无效。
操作步骤:
- 按
Ctrl+Shift+P→ 输入并选择Preferences: Open Settings (JSON) - 添加这一行(注意末尾必须带
/,且 JSON 格式合法):"extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/" - 彻底退出 VS Code(Windows 右键任务栏 → 退出;macOS 用 Activity Monitor 杀掉所有
Code和Code Helper进程) - 重启后首次加载稍慢,但不再卡住
如果公司封了 Azure 镜像,可换阿里云源:"extensions.gallery.serviceUrl": "https://vscode-extensions.oss-cn-hangzhou.aliyuncs.com/extensionGallery/extensionGallery/"
代理配置错一个字符就全挂
http.proxy 设置对扩展市场**基本无效**——它只影响部分更新检查类请求,不控制 marketplace 主链路。网上流传的 VSCODE_PROXY_SUPPORT 变量根本不存在,纯属误传。
真正有效的代理方式只有两种:
- 启动 VS Code 时加参数:
code --proxy-server=127.0.0.1:7890(端口按你实际代理调整) - 在系统环境变量中设
HTTPS_PROXY=http://127.0.0.1:7890,然后**用终端执行code启动**(双击图标启动的 VS Code 读不到 shell 环境变量)
别信“清缓存就能好”——缓存损坏顶多导致个别插件安装失败,不会让整个市场页面空白或报 Failed to fetch。
彻底卸载残留配置比重装更关键
重装 VS Code 不删配置 = 白装。插件市场卡死常因旧版配置残留(比如错误的 serviceUrl 缓存在 %APPDATA%\Code 下)。
干净卸载两步:
- 关闭 VS Code 后,删除
%APPDATA%\Code全部内容 - 再删除
%USERPROFILE%\.vscode全部内容
删完再官网下载最新版安装,才是真干净。否则哪怕换了镜像源,也可能被旧配置覆盖。
容易被忽略的是:改完 serviceUrl 后没彻底退出进程,或者 hosts 文件里手动映射的 IP 已过期(Azure CDN 地址会轮换),这两处一漏,超时照旧。











