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_PROXY 或 HTTPS_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"安装