这些问题都是因为无法访问VSCode官网导致的结果:
排除过程:
1、我一开始发现无法使用Remote-SSH插件访问Ubuntu18。后来查看了VSCode在连接Ubuntu18在Terminal输出的信息,发现XHR failed(XMLHttpRequest failed)
Resolver error: Error: XHR failed at y.onerror (vscode-file://vscode-app/d:/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:77:1261)
2、根据 1我想着再验证一下extension插件是否可以连接(Extensions for Visual Studio family of products | Visual Studio Marketplace)。然后extension插件反馈XHR fail。
3、根据 2 判断是VSCode软件出错,想着能不能通过浏览器Edge访问VSCode官网(Visual Studio Code - Code Editing. Redefined)获取技术支持,结果发现同样因为XHR fail而无法访问官网。
根据以上情况可以得出,我这里的错误不是VSCode软件的问题,而是网络配置的问题
于是我查找了CSDN和bing,发现以下方法:
- 域名失效:微软这么大个公司,域名失效或者网站被劫持的话,大概率会上热搜和CSDN的头条,并且我通过域名查询确定没有问题。
- 代理:查询了很多修改代理的方法,其中开启代理的本质是通过代理服务器来连接外网(部分外网网站是只能当地的IP访问),并且通过设置适合的代理服务器可以改善使用代理访问外网的数据传输速度;而关闭代理的本质是减少数据包跳转的路由数从而提高速度,由于墙内访问外网网站极其容易出现请求超时而XHR failed。
- 说完本质回到我的问题:VSCode官网在外网,可以合理怀疑GFW将访问VSCode官网的数据过滤掉了,但是我在访问Microsoft其他产品的官网,github等网页也没有出现连接问题,所以可以推断不是GFW的问题。所以我没有采用修改代理的方法(例如,Window10设置代理,以及VSCode的Setting中的proxy)。
- 个人电脑防火墙:于是我又查看了个人电脑的防火墙设置,以及允许通过的应用设置。也没有发现任何异常(即VSCode可以通专有网络和公有网络进行通信)。
- 重置网络:笑死,试了这么多方法,只有这个有效,但是却不知道为什么有效,太迷惑了。。。。这个方法其实就是删除对应网络适配器的驱动再然后重新安装驱动(注意,只有网络适配器没有问题,网络驱动才会自动安装,否则会重置网络之后,会出现网络适配器丢失或者网络驱动失效的问题,网络驱动失效的话,需要重新安装和更新驱动驱动)。
Window设置--->网络和Internet--->状态--->网络重置
5.在可以通过Edge访问VSCode官网后,如果还是不能通过Remote-SSH插件访问Ubuntu18,则需要通过这个链接的方法来实现,解决 Windows 端 VS Code “无法与 “...“ 建立连接:XHR failed.” 问题_读书读傻了哟的博客-CSDN博客