问题描述:
在使用 VS Code 时,用户频繁遇到“Failed to fetch”错误,导致无法加载或安装扩展商店中的插件。该问题通常表现为扩展视图中空白、提示网络请求失败或“Unable to connect to the extension marketplace”。常见原因包括网络代理配置不当、DNS 解析异常、企业防火墙拦截、VS Code 更新后证书信任问题,或 Microsoft 扩展服务在中国大陆访问受限。部分用户即使在网络通畅环境下仍无法解决,可能与 VS Code 默认更新源和 API 端点连接超时有关。此问题严重影响开发环境搭建效率,尤其在新装系统或远程开发场景下尤为突出。
1条回答 默认 最新
诗语情柔 2025-11-28 10:29关注1. 问题现象与典型表现
在使用 Visual Studio Code(VS Code)过程中,开发者频繁遭遇“Failed to fetch”错误提示,主要出现在扩展(Extensions)视图中。典型表现为:
- 扩展市场页面为空白或长时间加载中
- 弹出错误提示:“Unable to connect to the extension marketplace”
- 安装插件时出现“Error while fetching extensions”
- 搜索框无法返回结果,网络请求状态码为404或ERR_CONNECTION_FAILED
此类问题不仅影响本地开发环境的配置效率,更在远程开发(Remote-SSH、WSL、Docker)场景下导致自动化流程中断。尤其在中国大陆地区,由于 Microsoft 扩展服务(
marketplace.visualstudio.com)访问受限,该问题尤为普遍。2. 常见原因分类与优先级排序
原因类别 发生频率 影响范围 排查难度 网络代理配置不当 高 企业/跨国团队 中 DNS 解析异常 中 家庭/公共网络 低 企业防火墙拦截 高 公司内网环境 高 证书信任问题(CA) 中 更新后系统 中 中国大陆网络限制 极高 国内用户 中 API 端点超时 中 弱网环境 低 3. 分析过程:从日志到网络链路追踪
诊断该问题需结合 VS Code 内置日志与系统级工具进行分层排查:
- 打开 VS Code 开发者工具(<kbd>F1</kbd> → "Developer: Open Webview Developer Tools")
- 查看 Console 中是否出现 CORS 错误或
net::ERR_TUNNEL_CONNECTION_FAILED - 检查网络面板(Network Tab)中对
https://marketplace.visualstudio.com/_apis/public/gallery的请求状态 - 使用
curl -v https://marketplace.visualstudio.com测试基础连通性 - 通过
nslookup marketplace.visualstudio.com验证 DNS 解析是否正常 - 运行
tracert marketplace.visualstudio.com(Windows)或traceroute(Linux/macOS)分析路由跳转 - 检查系统代理设置(PAC、HTTP(S) Proxy)是否干扰请求
- 确认杀毒软件或防火墙(如 Fortinet、深信服)未拦截
code.exe出站流量 - 查看
~/.vscode/extensions/目录权限及缓存完整性 - 对比不同网络环境(如手机热点)下的行为差异
4. 解决方案层级模型
graph TD A[Failed to fetch] --> B{网络可达性} B -->|不通| C[检查DNS与代理] B -->|通| D{是否被拦截} D -->|是| E[配置企业防火墙白名单] D -->|否| F{证书是否可信} F -->|无效| G[更新根证书或忽略安全策略] F -->|有效| H[更换扩展源或镜像] H --> I[使用国内镜像代理] I --> J[配置 settings.json 自定义 Marketplace]5. 实用解决方案与配置示例
针对不同场景,提供以下可落地的解决方式:
5.1 配置 HTTPS 代理(适用于企业环境)
{ "http.proxy": "http://proxy.company.com:8080", "http.proxyStrictSSL": false, "http.proxySupport": "override" }5.2 使用国内镜像加速(推荐中国大陆用户)
修改
settings.json添加:{ "extensionsGallery": { "serviceUrl": "https://vscode.cdn.azure.cn/extensions/marketplace.json", "cacheUrl": "https://vscode.cdn.azure.cn/extensions/cache.json", "itemUrl": "https://marketplace.visualstudio.com/items" } }该镜像由微软中国 Azure 提供,显著提升访问稳定性。
5.3 忽略证书错误(仅限测试环境)
启动 VS Code 时添加参数:
code --ignore-certificate-errors --disable-web-security注意:此方式存在安全风险,不建议长期使用。
5.4 手动安装扩展(离线方案)
- 访问 Visual Studio Marketplace
- 搜索目标插件并下载
.vsix文件 - 在 VS Code 中执行:<kbd>F1</kbd> → "Install from VSIX..."
- 选择下载的文件完成安装
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报