直接改 settings.json 才管用,因 vscode 扩展市场地址(serviceurl 和 itemurl)不支持 ui 修改,仅能通过 settings.json 配置;且必须完全重启(杀托盘进程),否则仍用旧配置。

直接换镜像源能解决 80% 的“连接超时”“无法获取扩展列表”问题,但必须改对两个 URL 并完全重启 VSCode,否则无效。
为什么改 settings.json 才管用,而不是在 UI 里设置?
VSCode 的扩展市场地址(serviceUrl 和 itemUrl)不支持通过图形界面直接修改,UI 中搜索 “extensions.gallery” 只能跳转到配置项说明,实际值必须写进 settings.json 才生效。改完不重启、或只关闭窗口没杀托盘进程,VSCode 仍会沿用旧配置发起请求。
- Windows 路径:
%APPDATA%\Code\User\settings.json - macOS 路径:
~/Library/Application Support/Code/User/settings.json - Linux 路径:
~/.config/Code/User/settings.json
推荐用哪个镜像源?vscode-cn 还是 open-vsx?
vscode-cn(域名 vscode.cdn.azure.cn)和 open-vsx.org 都可用,但定位不同:
-
vscode-cn是微软官方 marketplace 的国内缓存镜像,扩展名、版本、签名完全一致,适合想“原样照搬官方体验”的用户;缺点是部分新发布插件可能延迟 1–2 小时 -
open-vsx.org是开源社区维护的替代市场,无需登录、无审查墙、离线安装更友好;但 Microsoft 官方扩展(如ms-python.python)更新略慢,且个别插件页面描述或图标可能缺失 - 二者都要求完整替换
serviceUrl和itemUrl,不能只换一个
改完配置后仍然失败?重点检查这三处
镜像配置本身没问题,但常见干扰项会导致请求仍发往原地址或静默失败:
- 系统或终端已设置
HTTP_PROXY/HTTPS_PROXY环境变量,而 VSCode 没配http.proxy,导致代理未生效或冲突 - 开了 Clash/Surge 等代理工具但未设为“全局模式”,VSCode 拿不到代理配置,仍直连失败
- 设置了
extensions.installDir自定义路径,但该路径不存在或无写权限——VSCode 会卡在解压阶段,不报错也不提示
手动安装 .vsix 时提示 “Corrupted ZIP” 或 “Signature verification failed”
这不是镜像问题,而是 VSCode 1.77+ 后加强了签名校验。即使你用了镜像源下载的 .vsix,若文件在传输中损坏、或被中间设备重写(如企业网关),就会触发此错误:
- 用解压工具打开 .vsix(本质是 zip),确认根目录下有
extension/package.json - 检查
package.json中engines.vscode字段是否兼容你的 VSCode 版本(例如你用1.90.0,字段写"^1.92.0"就会拒绝加载) - 临时绕过签名验证(仅限可信来源):在
settings.json中加"extensions.installVerification": false,安装完成后再删掉
真正卡住的地方往往不是“要不要换镜像”,而是改完配置后没彻底退出进程、或自定义路径权限不对——这两个点漏掉,换十个镜像都没用。











