VSCode无法连接虚拟机,报错“XHR failed“,手动部署VSCode Server

1、背景

想用vscode远程调试虚拟机中代码,vscode怎么也连接不上虚拟机,一直报错"XHR failed";用xshell工具或cmd命令行都可以ssh连接成功的,说明虚拟机端没有问题。

AI回复"当前报错XHR failed是VSCode 本地下载 Server 包时网络请求失败,本质是本地 VSCode 无法从官方服务器下载对应版本的 Server 文件",
建议用离线安装vscode server,强制跳过下载步骤,试了下可行。

【经过此步骤也有了解学习到vscode和虚拟机建立连接时步骤】

通过 Remote - SSH 插件连接远程 Linux 虚拟机时,本地(Windows)的VSCode 会:

1、检测远程主机是否已安装对应版本的 VS Code Server;

2、如果没有,本地 VS Code 会从微软官方服务器下载一个匹配当前 VS Code 客户端版本的 VS Code Server 压缩包(如 vscode-server-linux-x64.tar.gz);

3、然后通过 SSH 将该压缩包上传到远程主机,并解压、启动。

4、vscode客户端和vscodeserver建立连接

2、步骤

1、进入虚拟机,删除文件,命令如下

bash 复制代码
rm -rf ~/.vscode-server

2、查看本地VSCode版本

打开 VSCode → 帮助 → 关于 → 复制版本号(到txt文本中)

3、下载对应Server包(替换版本号和系统架构,虚拟机是 Linux 的话选linux-x64)

bash 复制代码
https://update.code.visualstudio.com/commit:${版本号}/server-linux-x64/stable

本文:(将url粘贴到浏览器中下载对应包)

bash 复制代码
https://update.code.visualstudio.com/commit:7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e/server-linux-x64/stable

4、将下载的vscode-server-linux-x64.tar.gz上传到虚拟机

5、虚拟机中执行:创建目录

bash 复制代码
mkdir -p ~/.vscode-server/bin/[提交id]

本文:

bash 复制代码
mkdir -p ~/.vscode-server/bin/7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e

6、虚拟机中执行:解压

bash 复制代码
tar -zxvf vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/[提交id] --strip-components 1

本文:

bash 复制代码
tar -zxvf vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e --strip-components 1

7、虚拟机中执行:创建0大小的0文件(让 VSCode 识别为已安装)

bash 复制代码
touch ~/.vscode-server/bin/[提交id]/0

本文:

bash 复制代码
touch ~/.vscode-server/bin/7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e/0


8、重新连接,连接成功

相关推荐
VidDown15 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
摇滚侠15 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
霸道流氓气质15 天前
Trae IDE 新手入门指南
ide
VidDown15 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦16 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown16 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐16 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
意法半导体STM3216 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
bloglin9999916 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
终将老去的穷苦程序员16 天前
IntelliJ IDEA 的安装教程
java·ide·intellij-idea