Visual Studio Code“获取扩展时出错。XHR 失败”

RON*_*ULU 73 marketplace visual-studio-code

这个问题是几周前开始的,当时我开始在笔记本电脑上使用 NordVPN。当我尝试搜索扩展程序,甚至尝试通过市场下载时,我会收到此错误: 在此输入图像描述

编辑:刚刚注意到另一件事可能表明导致问题的原因。当我打开 VSCode 并转到开发人员工具时,我收到此错误消息(甚至在执行任何操作之前):

“(node:19368) [DEP0005] DeprecationWarning: 由于安全和可用性问题,Buffer() 已被弃用。请改用 Buffer.alloc()、Buffer.allocUnsafe() 或 Buffer.from() 方法。(Code --trace-deprecation ...用于显示警告的创建位置)”

到目前为止,我发现的唯一部分解决方案是手动下载并安装扩展。

我在这里和网上其他地方检查过类似的问题,但没有找到解决此问题的方法。到目前为止我已经尝试过:

  1. 刷新我的 DNS 缓存并将其设置为 google 的 DNS 服务器。
  2. 在我的笔记本电脑上禁用 VPN 并重新启动 VS Code。
  3. 清除扩展搜索结果。
  4. 禁用当前正在运行的所有扩展。

我使用的是运行 Windows 10 的笔记本电脑。我还没有尝试过其他可能的解决方案吗?

Bin*_*ang 65

我遇到了同样的问题,我执行了以下步骤来解决它

您所需要做的就是从 VSC 输入 JSON 设置文件

1. Press F1
2. Type User Settings
3. Search for Proxy
4. In proxy section, look for the title `Http: Proxy Authorization`
5. Click on 'Edit in settings.json'
6. Delete all brackets containing proxy data
7. Save JSON file
Run Code Online (Sandbox Code Playgroud)

之后,只需重新启动 VSC 您还可以在中找到 JSON%appdata%/Code/User/settings.json

  • 尝试过但没有帮助... (21认同)
  • 这对我在 Windows 上没有代理的机器上有效。但是,我必须删除整行(例如键和值,被设置为空) (7认同)
  • 对我来说关键是重新启动 VSCode (2认同)

小智 44

所以我发现这个

  1. 按 F1
  2. 搜索用户设置
  3. 点击进入
  4. 搜索用户设置“代理”
  5. 点击进入
  6. 查找“使用扩展的代理支持”。
  7. 将覆盖更改为打开

也许这可以帮助你。

  • 从“覆盖”更改为“后备”,它有效 (2认同)

noy*_*y L 23

对我来说,当您的 PC 系统和 VS Code 之间的代理设置发生冲突时,会出现“XHR 失败”错误。

1.检查PC系统代理设置。

2.打开cmd或终端,输入

echo %http_proxy%,如果有任何输出,请确保它适合您的电脑代理设置。因为如果vs code上的代理没有被设置,就会继承http_proxyhttps_proxy环境变量。

3.如果没有,请打开 vs code settings.json ,添加 "http.proxy":"http://proxyname:port"适合您的电脑代理设置的内容,尾部不带斜杠。

再次尝试下载扩展程序。希望这会有所帮助。^^

  • 您还可以使用“--ignore-certificate-errors”打开代码,安装扩展,然后在没有标志的情况下重新启动。 (5认同)

小智 23

只需按照以下步骤操作:

  1. 按 F1
  2. 类型 用户设置
  3. 搜索“代理授权”
  4. 点击“在settings.json中编辑”
  5. 添加新的键值对 - "http.proxySupport": "on"
  6. 保存 JSON 文件

在我的最后 settings.json 文件

{
    "http.proxyAuthorization": null,
    "http.proxySupport": "on"
}
Run Code Online (Sandbox Code Playgroud)


Lew*_*lue 19

我不使用代理,并且使用 NextDNS,所以我不想更改我的 DNS 设置。

作为解决方法,您可以使用--ignore-certificate-errors标志打开代码,安装任何扩展,然后在不使用标志的情况下重新启动。

在窗户上:

code --ignore-certificate-errors
Run Code Online (Sandbox Code Playgroud)


Shi*_*gGo 7

就我而言,解决方案是删除HTTPS_PROXY(可能是HTTP_PROXY)终端初始化期间设置的环境变量。

env大多数操作系统都可以通过命令确认环境变量。

我从配置文件中删除了为代理设置环境变量的行bash,然后重新启动了操作系统。

除了~/.bashrcbash 或任何其他与 sh 兼容的 shell 之外,环境变量可以位于:

  • /etc/environment:专门用于环境变量
  • /etc/env.d/*: 环境变量,分成多个文件
  • /etc/profile:所有类型的初始化脚本
  • /etc/profile.d/*:初始化脚本
  • /etc/bashrc, /etc/bash.bashrc: 用于函数和别名
  • ~/.bash_profile:登录(bash-)shell 的初始化
  • ~/.bashrc:所有交互式(bash-)shell 的初始化
  • ~/.profile:用于所有 shell
  • ~/.cshrc, ~/.zshrc, ~/.tcshrc:与非 bash shell 类似

归功于这篇文章。 https://unix.stackexchange.com/a/249922

该环境变量HTTP(S)_PROXY可以被其他应用程序使用。因此,请注意删除它的副作用。

  • 这会产生不必要的副作用,使任何需要 https_proxy 环境变量的应用程序变砖 (2认同)