VSCode插件市场加载失败主因是无法直连marketplace.visualstudio.com,推荐优先修改extensions.gallery.serviceUrl为国内镜像源(如https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/),并彻底退出VSCode进程后重启;同时清理错误http.proxy配置、检查环境变量生效方式,或手动安装.vsix文件兜底。

VSCode 插件市场加载失败、一直转圈或报 XHR failed、ERR_CONNECTION_TIMED_OUT,基本不是 VSCode 坏了,而是它连不上 marketplace.visualstudio.com —— 这个域名在国内直连极不稳定,DNS 污染、TLS 握手重置、出口限速都可能导致“看似有网,实则卡死”。直接换源比调代理更稳、更快。
改 extensions.gallery.serviceUrl 换国内镜像源
这是最有效、副作用最小的解法。VSCode 会优先读这个配置,跳过所有代理干扰。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并选择Preferences: Open Settings (JSON) - 在
settings.json中添加(注意逗号分隔,末尾必须有/):"extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/"
- 保存后,**必须完全退出 VSCode 进程**:Windows 右键任务栏图标 → “退出”,macOS 在 Activity Monitor 杀掉所有
Code和Code Helper进程,Linux 执行killall -9 code - 重启后再打开扩展面板,首次加载稍慢,但后续搜索/安装成功率明显提升
备选镜像(如 azure.cn 不可用):"extensions.gallery.serviceUrl": "https://vscode-ext.oss-cn-shenzhen.aliyuncs.com/gallery/"
或开源社区源:"extensions.gallery.serviceUrl": "https://open-vsx.org/vscode/gallery"
删掉错配的 http.proxy 配置
很多用户开了 Clash/Surge 却没开「系统代理」,结果 VSCode 读到一个指向 127.0.0.1:7890 的 http.proxy 设置,但代理实际没监听 HTTP 端口,请求就卡在 pending 状态,表现为“加载中…”不动。
- 打开设置(
Ctrl+,),搜索proxy - 找到
HTTP: Proxy项,如果值是类似http://127.0.0.1:7890或127.0.0.1:1080,且你没开对应代理服务,直接清空或设为none - 更彻底:进
settings.json,删掉整行"http.proxy": "..."和"http.proxyStrictSSL": false(后者会削弱证书校验,仅调试用) - 确认无残留后重启 VSCode
检查环境变量是否被终端启动方式绕过
如果你习惯双击图标或从开始菜单启动 VSCode,它**不会继承 shell 的 HTTP_PROXY/HTTPS_PROXY 环境变量**——哪怕你在 ~/.zshrc 里写了 export 也没用。
- 想让环境变量生效,必须从终端启动:
code --new-window - Windows 用户:在「系统属性 → 高级 → 环境变量」中添加系统级变量
HTTPS_PROXY=http://127.0.0.1:7890,然后重启资源管理器或重装 VSCode 启动器 - macOS:把
export HTTPS_PROXY=http://127.0.0.1:7890加到~/.zprofile(不是.zshrc),再运行code --new-window - 注意:
HTTPS_PROXY必须带协议头(http://或https://),只写127.0.0.1:7890会导致超时
手动安装 .vsix 绕过所有网络环节
当 UI 完全失效、换源无效、代理又不能开时,这是最可靠的兜底方案。VSCode 插件本质就是 ZIP 包,不依赖市场接口。
- 在能联网的设备上访问:
https://marketplace.visualstudio.com/items?itemName=作者名.插件名(例如ms-python.python) - 滚动到底部,点
Download Extension,得到xxx.vsix文件 - 在目标机器的 VSCode 中,按
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 选中该文件 - 命令行也可:
code --install-extension /path/to/extension.vsix(需确保code命令已加入 PATH)
注意:.vsix 文件必须完整,解压后应含 extension/package.json;若提示签名错误,说明是第三方非官方包,建议换官网下载源。











