解决新版 VSCode Remote-SSH插件连接Ubuntu虚拟机时,VSCode 反复出现 “正在下载 vscode 服务器”问题
解决新版 VSCode Remote-SSH插件连接Ubuntu虚拟机时,VSCode 反复出现 “正在下载 vscode 服务器”问题
- 适用范围
- 手动安装新版架构
- 步骤 1:清理旧残留文件
- 步骤 2:下载两个安装包
- 步骤 3:创建新版目录结构
- 步骤 4:部署 vscode-cli 组件
- 步骤 5:部署 vscode-server 服务组件
- 步骤 6:验证最终目录结构
- 最后:确认无误后,重新打开 VSCode 发起 SSH 连接,会直接跳过下载步骤,秒连成功
适用范围
1、没有“科学上网”途径;
2、台式机或笔记本受限,无法访问外网;
手动安装新版架构
新版 VSCode Remote-SSH(1.89 版本之后)更新了远程部署架构,从原来单一的 vscode-server 改成了「vscode-cli 入口 + vscode-server 服务」的两级结构。
步骤 1:清理旧残留文件
先 SSH 登录到 Ubuntu,执行以下命令清空旧的不完整文件,避免干扰:
pkill-fvscode-server||truerm-rf~/.vscode-server步骤 2:下载两个安装包
1、首先获取自己本机 VS code的 *commit ID*
提交后面跟着的这一长串就是commit ID,自己操纵中要用自己获取的commit ID代替我写的commit ID:
举例:
我给出的 : .vscode/commit ID
你应该做的: .vscode/df53daabb…
2、在本地浏览器直接打开下面两个链接,下载对应安装包:
①vscode-cli组件(64 位 Ubuntu 通用):
https://update.code.visualstudio.com/commit:commit ID/cli-alpine-x64/stable
下载后得到文件:vscode_cli_alpine_x64_cli.tar.gz
②vscode-server服务组件:
https://update.code.visualstudio.com/commit:commit ID/server-linux-x64/stable
下载后得到文件:vscode-server-linux-x64.tar.gz
步骤 3:创建新版目录结构
在 Ubuntu 终端执行,创建对应的目录层级:
mkdir-p~/.vscode-server/cli/servers/Stable-commit ID步骤 4:部署 vscode-cli 组件
1、本地终端执行scp,把 cli 压缩包传到 Ubuntu 的 home目录下:
scp本地路径/vscode_cli_alpine_x64_cli.tar.gz 你的Ubuntu用户名@UbuntuIP:~/2、回到 Ubuntu 终端,解压并重命名:
cd~tar-xzfvscode_cli_alpine_x64_cli.tar.gz# 解压后得到一个名为 code 的可执行文件,重命名并移动到正确位置mvcode ~/.vscode-server/code-commit ID# 给执行权限chmod+x ~/.vscode-server/code-commit ID# 删除压缩包rmvscode_cli_alpine_x64_cli.tar.gz步骤 5:部署 vscode-server 服务组件
1、本地终端执行scp,把 server 压缩包传到 Ubuntu:
scp本地路径/vscode-server-linux-x64.tar.gz 你的Ubuntu用户名@UbuntuIP:~/2、回到 Ubuntu 终端,解压并放到正确目录:
cd~tar-xzfvscode-server-linux-x64.tar.gz# 解压后文件夹重命名为 server,移动到对应目录mvvscode-server-linux-x64 ~/.vscode-server/cli/servers/Stable-commit ID/server# 删除压缩包rmvscode-server-linux-x64.tar.gz步骤 6:验证最终目录结构
执行tree ~/.vscode-server(没有tree就用ls逐层看),正确结构应该是:
.vscode-server/ ├── code-df53daabb18cd157bdb08c7f01c34df936cf12f4# cli可执行文件└── cli/ └── servers/ └── Stable-df53daabb18cd157bdb08c7f01c34df936cf12f4/ └── server/# 服务端本体├── bin ├──node├── out └──...