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、重新连接,连接成功

相关推荐
送我上青云|21 小时前
告别繁琐命令行:VS Code CMake Tools 环境配置极简指南
ide·visual studio code
还是大剑师兰特1 天前
Vue3 前端专属配置(VSCode settings.json + .prettierrc)
前端·vscode·json
小路恢弘1 天前
xcode替换LLVM插件
ide·macos·xcode
学嵌入式的小杨同学1 天前
STM32 进阶封神之路(十五):DHT11 单总线实战 —— 温湿度检测从时序解析到代码落地(库函数 + 寄存器)
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·pcb工艺
阿捏利1 天前
vscode+ida-mcp-server配置及使用
vscode·ida·逆向·mcp
#空城1 天前
LVGL9.5在VScode中安装模拟器
ide·vscode·编辑器
wayz111 天前
正则表达式:从入门到精通
java·python·正则表达式·编辑器
Liu.7741 天前
vscode使用git和svn
git·vscode·svn
吧啦蹦吧1 天前
idea---------------
java·ide·intellij-idea
golang学习记1 天前
JetBrains Air 公测上线:当 26 年老牌 IDE 厂商开始“玩“智能体[特殊字符]
ide·intellij-idea·air