VSCode插件市场连不上主因是直连marketplace.visualstudio.com失败,应配置带末尾斜杠的extensions.gallery.serviceUrl为国内镜像源(如https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/)并彻底退出所有进程后重启;推荐使用open-vsx.org,需同步配置serviceUrl和itemUrl。

VSCode 插件市场连不上,90% 不是网络断了,而是它还在死磕 marketplace.visualstudio.com —— 这个域名在国内多数环境 DNS 解析失败或 TLS 握手被重置,界面只显示 “We cannot connect to the Extensions Marketplace”,不报错、不提示、不重试,纯卡死。
改 extensions.gallery.serviceUrl 换国内镜像源才真正生效
VSCode 扩展市场页面(搜索、安装、更新)完全不读 http.proxy,只认这个配置项。填错或漏掉关键细节,就会静默 404,界面卡住不动。
-
serviceUrl必须带完整协议 + 路径,末尾必须有/,例如:"https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/";少一个斜杠,VSCode 不报错,但所有请求都返回 404 - 推荐同步配
cacheUrl,值和serviceUrl完全一致,否则 publisher 列表空白、扩展页加载不全 - 大小写敏感:
extensionGallery不能写成extensiongallery或ExtensionGallery - 改完
settings.json后,只关窗口没用:Windows 要右键任务栏图标 → “退出”,再进任务管理器杀光所有Code.exe和Code Helper.exe;macOS 用活动监视器杀掉全部Code和Code Helper;Linux 执行pkill -f "code"
用 open-vsx.org 替代微软源更省心
它不依赖登录、无墙、镜像稳定,主流插件(如 ms-python.python、esbenp.prettier-vscode)同步及时,且配置结构清晰,不易出错。
- 在
settings.json中写成嵌套结构,不是平铺:{ "extensions.gallery": { "serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item" } } -
itemUrl必须显式指定,不能省略,否则点击安装会失败 - 微软官方插件(如
ms-vscode.cpptools)版本可能滞后 1–2 天,但功能完整,不影响日常编码
手动装 .vsix 时常见校验失败原因
提示 “Signature verification failed” 或 “Corrupted ZIP”,不是网络问题,是 VSCode 在校验阶段主动拒绝加载。
- 用
unzip -t xxx.vsix检查 ZIP 是否损坏;根目录必须有package.json - 打开
package.json,确认"engines": {"vscode": "^1.85.0"}中的版本 ≤ 当前 VSCode 版本(比如你用的是1.90.0,插件写"^1.92.0"就会被拒) - 文件大小异常小(curl -L -o xxx.vsix [url] 重下
- 双击无反应?别拖进界面,用命令行:
code --install-extension /path/to/plugin.vsix
为什么删了 http.proxy 还是卡住
因为 http.proxy 根本不控制扩展市场加载——它只影响语言包下载、自动更新检查等次要请求。填错格式(如漏 http://、用 localhost)、设了但代理没运行,会导致请求 pending 卡死,但 Network 面板里根本看不到 marketplace 请求。
- 打开设置搜索
proxy,如果值是http://127.0.0.1:7890这类但你没开对应代理工具,直接清空整行 - 若坚持用代理,必须从终端启动 VSCode(
code),并确保 shell 中已设HTTP_PROXY和HTTPS_PROXY环境变量;双击图标或开始菜单启动的 VSCode 完全不继承这些变量 - 企业环境中,某些安全软件会静默拦截
vscode.blob.core.windows.net,临时禁用可验证是否为该原因
最常被忽略的一点:改完任何配置,只要后台 Code Helper 进程还在跑,就等于什么都没改。彻底杀进程不是可选项,是必做动作。


















