VSCode无法连接插件市场主因是死守不可用的marketplace.visualstudio.com,应配置extensions.gallery.serviceUrl与cacheUrl为国内镜像源(如https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/),并彻底退出所有Code及Code Helper进程后重启。

VSCode 无法连接插件市场,90% 以上不是网络断了,而是它还在死守 marketplace.visualstudio.com —— 这个域名在国内直连基本不可用。换镜像源比配代理快、稳、无副作用,且无需依赖本地代理工具是否运行。
extensions.gallery.serviceUrl 配错就白忙
这个配置是 VSCode 扩展系统的“总开关”,改了它,所有市场请求(搜索、安装、更新)才会真正走新地址。但极易因格式错误完全失效:
-
serviceUrl必须带完整协议+路径,末尾必须有/,例如"https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/";少一个斜杠会静默返回 404,界面卡住不报错 - 必须同步配
cacheUrl,否则扩展页空白或 publisher 列表加载失败,推荐值与serviceUrl完全一致 - 大小写敏感:
extensionGallery不能写成extensiongallery或ExtensionGallery - 别混用不同镜像:比如
serviceUrl指向 azure.cn,cacheUrl指向 open-vsx.org,会导致部分请求 404 或签名校验失败
改完 settings.json 为什么还是没反应
因为 VSCode 后台服务进程(Code Helper)仍在运行,它缓存着旧的市场地址,新配置根本没加载。只关窗口、点“重新加载窗口”完全无效:
- Windows:右键任务栏图标 → “退出”;再打开任务管理器,结束所有
Code.exe和Code Helper.exe - macOS:打开“活动监视器”,搜索并强制退出全部
Code和Code Helper进程 - Linux:执行
pkill -f "code"或killall -9 code - 命令行启动的用户还要注意:
code --new-window不等于彻底重启,必须杀进程再重开
http.proxy 配置根本不管扩展市场加载
这是最常被误解的一点:VSCode 的扩展市场页面(包括搜索、安装、更新)**不读取 http.proxy 设置项**,它走的是 Electron 底层网络栈,只认系统级环境变量或 serviceUrl。你填了 "http.proxy": "http://127.0.0.1:7890" 却依然转圈,大概率是白配。
-
http.proxy只影响次要请求,比如语言包下载、自动更新检查,对主市场页面加载无效 - 若坚持用代理,必须从终端启动 VSCode(
code),并确保 shell 中已设HTTP_PROXY和HTTPS_PROXY环境变量 - 双击图标、开始菜单启动的 VSCode **完全不继承** shell 环境变量
- 填错格式(如漏掉
http://前缀、用localhost替代127.0.0.1)会导致静默忽略,控制台 Network 面板看不到任何 marketplace 请求
离线安装 .vsix 前必须验证三件事
手动安装不是兜底万能解,VSCode 1.77+ 默认启用强签名验证,错一个环节就会失败:
- 检查
.vsix文件完整性:用unzip -t xxx.vsix确认 ZIP 未损坏 - 核对
package.json中engines.vscode字段,例如"^1.92.0"表示仅兼容 VSCode 1.92.x 及以上版本,当前版本低则报Extension is not compatible with Code - 确认来源可信:open-vsx.org 上部分 Microsoft 官方扩展(如
ms-python.python)签名缺失或版本滞后,安装时可能报Signature verification failed
真正关键的不是“能不能连”,而是 VSCode 是否在用你指定的地址发请求——所有配置都得配合进程级重启才生效,而最容易被忽略的,就是那个藏在后台、默默缓存旧地址的 Code Helper 进程。


















