Skip to content

Visual Studio Code "XHR failed" 错误解决方案

当 Visual Studio Code 出现 "Error while fetching extensions. XHR failed" 错误时,这通常意味着 VS Code 无法连接到 Microsoft 扩展市场。本文将详细分析此问题的原因,并提供一系列从简单到复杂的解决方案。

问题概述

XHR (XMLHttpRequest) 失败错误通常出现在以下几种情况:

  • 网络连接问题(VPN、代理设置)
  • VS Code 配置问题
  • 系统环境变量冲突
  • 防火墙限制
  • 微软服务暂时不可用

快速解决方案

1. 基本排查步骤

首先尝试这些简单方法

在尝试复杂解决方案前,请先执行以下基本检查:

2. 代理设置检查与修复

多数情况下,此问题与代理设置有关:

方法一:修改 VS Code 代理设置

json
{
  "http.proxySupport": "on",
  "http.proxyAuthorization": null
}
bash
1. F1 打开命令面板
2. 输入 "User Settings"
3. 搜索 "Proxy"
4. "Http: Proxy Support" 设置为 "on"

方法二:清除代理配置

如果之前配置过代理但现在不需要:

WARNING

请确保清除代理设置不会影响其他网络应用

json
// 在 settings.json 中删除以下相关设置:
// - "http.proxy"
// - "http.proxyAuthorization"
// - "http.proxyStrictSSL"

3. 系统环境变量检查

环境变量中的代理设置可能干扰 VS Code:

检查环境变量

在终端中运行以下命令检查环境变量:

bash
# Windows (CMD)
set

# Windows (PowerShell)
Get-ChildItem Env:

# Linux/macOS
env | grep -i proxy

如果发现 HTTP_PROXYHTTPS_PROXY 环境变量,但不需要使用代理,可以移除它们:

  • Windows:通过系统属性 > 高级 > 环境变量
  • Linux/macOS:编辑 ~/.bashrc, ~/.zshrc/etc/environment 文件

4. 系统代理设置检查

Windows 系统代理设置也可能导致此问题:

  1. 打开 Windows 设置 > 网络和 Internet > 代理
  2. 确保"自动检测设置"已关闭(除非确实需要)
  3. 手动配置代理设置或完全禁用代理

Windows 代理设置

5. 使用 Microsoft 账户登录

TIP

许多用户报告登录 Microsoft 账户可以解决此问题

  1. 点击 VS Code 左下角的账户图标
  2. 选择 "Turn On Cloud Changes"
  3. 使用 Microsoft 账户登录
  4. 启用设置同步

6. 防火墙设置

确保防火墙未阻止 VS Code:

Windows 防火墙设置
  1. 打开 Windows 安全中心 > 防火墙和网络保护
  2. 点击"允许应用通过防火墙"
  3. 确保 Code.exe 在允许列表中
  4. 如果没有,点击"允许其他应用"并添加 VS Code

高级解决方案

如果上述方法均无效,可以尝试以下高级方案:

1. 重新安装 VS Code

注意

重新安装前请备份重要设置和扩展

尝试使用"系统安装程序"而非"用户安装程序"重新安装 VS Code,这可以解决某些权限相关问题。

2. 清除 VS Code 配置文件夹

完全重置 VS Code 配置:

bash
# Windows
删除 %APPDATA%\Code %USERPROFILE%\.vscode 文件夹

# macOS
删除 ~/Library/Application Support/Code ~/.vscode 文件夹

# Linux
删除 ~/.config/Code ~/.vscode 文件夹

3. 使用忽略证书错误模式

临时解决方案,仅用于安装扩展:

bash
# 启动 VS Code 并忽略证书错误
code --ignore-certificate-errors

# 安装所需扩展后关闭并正常重启 VS Code

特定场景解决方案

使用 VPN 的情况

如果使用 VPN 时出现此问题:

  1. 尝试断开 VPN 连接
  2. 检查扩展市场是否可用
  3. 如果可用,可能是 VPN 的配置问题
  4. 考虑更换 VPN 服务器或协议

企业网络环境

在企业网络环境下,可能需要联系网络管理员:

  • 企业防火墙可能阻止了扩展市场的访问
  • 可能需要特定的代理配置
  • 可能需要将 marketplace.visualstudio.com 加入白名单

故障排除流程

遇到此问题时,建议按以下顺序排查:

总结

Visual Studio Code 的 "XHR failed" 错误通常与网络连接和代理设置有关。通过本文提供的步骤,大多数用户应该能够解决此问题。如果问题仍然存在,建议查看 VS Code 的 GitHub 问题页面或联系技术支持。

最后的手段

如果所有方法都失败,可以考虑手动下载和安装扩展:

  1. 访问 Visual Studio Marketplace
  2. 搜索所需扩展
  3. 点击"Download Extension"下载 VSIX 文件
  4. 在 VS Code 中使用"Install from VSIX"安装