为什么VSCode的扩展市场加载慢及如何加速【教程】

11次阅读

根本原因是微软CDN在国内遭dns污染、TLS握手失败及路由劫持;解决方案为命令行+百度镜像源直装或vscode 1.85+配置extensions.gallery.serviceUrl指向该镜像。

为什么VSCode的扩展市场加载慢及如何加速【教程】

VSCode 扩展市场加载慢,根本原因不是你网络差,而是它默认走微软的全球 CDN(marketplace.visualstudio.com),在国内常被 DNS 污染、TLS 握手卡顿或中间路由劫持,尤其在非代理环境下几乎必然卡在「Loading extensions…」。

为什么 extensions.vue 页面一直转圈或超时

这不是 VSCode 本身的问题,而是客户端发起的请求被阻断或响应极慢:

  • VSCode 启动后自动调用 https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery,该域名解析常返回错误 IP 或超时
  • 即使能连上,部分地区 TLS 1.3 握手失败(微软 CDN 节点对某些中间设备兼容性差)
  • 扩展详情页(如点击某个插件)会额外请求 vscode.blob.core.windows.net,这个域名在国内解析不稳定
  • 启用了企业防火墙、DNS over https(如使用 1.1.1.1)、或本地 hosts 误写,都可能让请求静默失败

不改设置、不装插件的最快缓解法

直接绕过 VSCode 内置市场 ui,用命令行 + 镜像源手动安装:

  • 打开终端,运行 code --install-extension publisher.name,例如:code --install-extension esbenp.prettier-vscode
  • 若提示「Unable to install」,在命令前加环境变量强制走国内镜像:VSCODE_EXTENSIONS_MSA_URL=https://vscode.bj.bcebos.com code --install-extension esbenp.prettier-vscode
  • 这个镜像源(百度 BOS 托管)同步微软官方数据,延迟约 1–2 小时,但访问稳定
  • 已安装的扩展更新仍走原链路,所以建议定期手动执行一次 code --list-extensions | xargs -L 1 code --install-extension 强制重装(跳过已存在检查)

修改 settings.json 切换市场后端(需重启)

VSCode 1.85+ 支持通过配置项指定市场 API 地址,比改 hosts 更干净:

  • 打开命令面板(Ctrl+Shift+P),输入「Preferences: Open Settings (json)」
  • 添加这一行:"extensions.autoCheckUpdates": false(先禁用自动检查,避免干扰)
  • 再添加:"extensions.gallery.serviceUrl": "https://vscode.bj.bcebos.com/_apis/public/gallery"
  • 注意:URL 必须带 /_apis/public/gallery 后缀,少一个字符就会回退到默认地址
  • 保存后完全退出 VSCode(包括右下角托盘进程),再重新打开,扩展页应秒开

别碰的「伪加速」方案

有些教程让你改 hosts 或装「Marketplace proxy」插件,实际隐患更大:

  • 硬写 marketplace.visualstudio.com 到国内 IP —— 微软 CDN 节点是按 Host 头路由的,IP 错了直接 403
  • 启用「Proxy Support」设为 on 却没配 http.proxy —— VSCode 会卡死在代理探测阶段,比不设还慢
  • 安装所谓「加速插件」—— 它们只是把请求转发到第三方中转服务器,隐私和稳定性全无保障,且多数已停止维护
  • npm install -g vsce 手动打包安装 —— 仅适用于开发者发布扩展,普通用户没必要,还容易装错版本

真正稳定的方案只有两个:要么用命令行 + 镜像源直装(推荐),要么改 serviceUrl 配置(需 VSCode ≥1.85)。其他所有「一键加速包」「hosts 一键替换」都在掩盖问题本质——VSCode 市场协议本身不支持自定义 CDN,任何绕过都得承担兼容性风险。

text=ZqhQzanResources