直接改extensions.gallery.serviceUrl为国内镜像源并彻底退出VSCode进程重启,能解决90%插件市场转圈问题;因其是扩展系统唯一生效入口,而http.proxy对此无效,且必须同步配置cacheUrl、确保URL格式正确、同域、末尾带/,并杀净Code Helper进程。

直接改 extensions.gallery.serviceUrl 为国内镜像源,再彻底退出所有 VSCode 进程并重启,能解决 90% 的“转圈”“无法连接”“XHR failed”问题。这不是玄学,是 VSCode 扩展系统实际生效的唯一可靠入口。
为什么改 http.proxy 没用?
VSCode 插件市场页面(搜索、安装、更新)根本不读 http.proxy 设置项。它走 Electron 底层网络栈,只认系统环境变量或硬编码的 serviceUrl。你填了 "http.proxy": "http://127.0.0.1:7890" 却还在加载中,大概率是白配。
-
http.proxy只影响语言包下载、自动更新检查等次要请求 - 双击图标或从开始菜单启动 VSCode 时,
HTTP_PROXY/HTTPS_PROXY环境变量通常不生效 - 漏写
http://或https://协议头(比如只写127.0.0.1:7890)会导致静默忽略,Network 面板看不到任何请求
怎么正确配置 extensions.gallery.serviceUrl
这是扩展系统的“总开关”,改对了,所有市场请求才真正走新地址。但极易因格式错误完全失效:
- 必须带完整协议 + 路径 + 末尾斜杠,例如:
"https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/";少一个/会静默返回 404,界面卡住不报错 - 必须同步配
extensions.gallery.cacheUrl和extensions.gallery.itemUrl,推荐三者值完全一致 - 大小写敏感:
extensionGallery不能写成extensiongallery或ExtensionGallery - 别混用不同镜像:比如
serviceUrl指向vscode.cdn.azure.cn,cacheUrl指向open-vsx.org,会导致部分请求 404 或签名校验失败
改完 settings.json 为什么还是没反应?
因为 VSCode 后台服务进程(Code Helper)仍在运行,它缓存着旧的市场地址,新配置根本没加载。只关窗口、点“重新加载窗口”完全无效:
- Windows:右键任务栏图标 → “退出”;再打开任务管理器,结束所有
Code.exe和Code Helper.exe - macOS:打开“活动监视器”,搜索并强制退出全部
Code和Code Helper - Linux:执行
killall -9 code或pkill -f "code" - 命令行启动的用户还要注意:
code --new-window不等于彻底重启,必须杀进程再重开
哪些镜像源可用?
微软官方虽未提供中国区入口,但 https://vscode.cdn.azure.cn 是 Azure 中国实际托管的合法镜像,协议兼容、更新及时。截至 2026 年 11 月,主流可选镜像有:
-
"https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/"(推荐,兼容性最好) -
"https://vscode-extensions.oss-cn-hangzhou.aliyuncs.com/extensionGallery/extensionGallery/"(阿里云 OSS,需自行验证时效性) -
"https://open-vsx.org/vscode/gallery"(Open VSX,部分 Microsoft 官方扩展更新滞后)
首次加载扩展页可能稍慢(预热镜像缓存),但安装成功率能从不到 30% 提升到 95% 以上。最常被忽略的是杀干净 Code Helper 进程——它不退出,一切配置都是空谈。


















