必须同时配置extensions.gallery.serviceurl和itemurl且末尾带斜杠,否则因404导致静默重试;改配置后须彻底退出所有vscode进程才生效。

为什么改了 extensions.gallery.serviceUrl 还会重定向循环
不是配置没生效,而是 VSCode 扩展系统会并发请求多个端点:服务根地址、插件详情页、发布者列表、缓存清单。只配 extensions.gallery.serviceUrl 不够,漏掉 extensions.gallery.itemUrl 就会导致点击安装时跳转失败,触发静默重试 → 表现为 URL 在 vscode:// 和 https:// 之间反复跳、授权页空白、或卡在 “重试中”。
extensions.gallery.itemUrl 必须显式配置且末尾带斜杠
所有镜像源都要求两个 URL 同步设置,且路径格式必须严格匹配。少一个斜杠、多一个空格、域名拼错,都会返回 404,VSCode 不报错,只无限重试。
- Azure 镜像(推荐):
"extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/""extensions.gallery.itemUrl": "https://vscode.cdn.azure.cn/extensionGallery/item" - 阿里云镜像(内网友好):
"extensions.gallery.serviceUrl": "https://vscode-extensions.oss-cn-hangzhou.aliyuncs.com/extensionGallery/extensionGallery/""extensions.gallery.itemUrl": "https://vscode-extensions.oss-cn-hangzhou.aliyuncs.com/extensionGallery/item" - Open-VSX 源(开源替代):
"extensions.gallery.serviceUrl": "https://open-vsx.org/vscode/gallery""extensions.gallery.itemUrl": "https://open-vsx.org/vscode/item"
复制时务必手动敲一遍,避免粘贴进全角字符或隐藏换行;Windows 用户不用管反斜杠,JSON 只认正斜杠。
重定向循环时 Network 面板怎么看关键线索
打开命令面板 → Developer: Toggle Developer Tools → 切到 Network 标签,再点一次“安装”按钮,观察失败请求的 Status 和 Timing:
- Status 显示
(failed) net::ERR_CONNECTION_TIMED_OUT→ DNS 或 TLS 握手卡住,优先关 Clash/Surge 的 TUN 模式,或换镜像源 - Status 是
404→itemUrl路径错误(最常见是漏斜杠或写成/items而非/item) - Status 是
0且 Timing 里 stalled >30 秒 → 国产安全软件(360、火绒、腾讯电脑管家)静默拦截 HTTPS 请求,不弹窗也不报错 - Status 是
200但响应体为空 → 镜像源未同步该插件,需手动下载.vsix文件安装
彻底退出 VSCode 进程比重启更重要
配置改完不生效,90% 是因为 VSCode 后台进程还在跑旧配置。它不会热重载这些网络相关设置。
- Windows:右键任务栏图标 → 「退出」,不要只关窗口
- macOS:打开 Activity Monitor,搜索
Code和Code Helper,全部强制退出 - Linux:运行
pkill -f 'code'或killall -9 code
哪怕你看到界面关了,ps aux | grep code 仍可能查出残留进程——这些进程会继续用旧的 serviceUrl 发请求,导致你误判配置无效。











