Linux/VS Code-正在下载VS Code服务器(Remote-SSH插件)

  VS Code在使用SSH连接到Linux服务器时,会出现停留在“设置SSH主机:XXX:正在本地下载VS Code服务器”时间过长的情况。这是由于下载服务器的文件来自外网,导致下载速度非常缓慢,甚至可能需要等待半小时以上,但其实该文件实际大小不大,此文章将给出这一情况的解决方案。

  • 方案一

  通过设置Remote-SSH插件解决Visual Studio Code每次更新卡在这一阶段,甚至也可以解决客户端有网络连接,但是主机端无网络连接的情况下,仍然可以通过vscode的remote-ssh插件连接主机。

  进入Remote-SSH插件的设置页面。

  找到设置项:

    Remote.SSH: Local Server Download(适用所有配置文件)
    扩展是否可以在客户端上下载 VS Code 服务器,并使用 scp 将其传输到主机,而不是将其下载到主机上。

   从auto设置成always。 

  • 方案二

  注意:此方案当前可能已经失效。

1. 找到此VS Code Server版本的commit_id

  在VS Code界面上打开底端面板,找到“输出”,然后查看远程插件“Remote-SSH”的输出,会发现输出栏会有如下信息:

Deleting old install from /home/username/.vscode-server/bin/6445d93c81ebe42c4cbd7a60712e0b17d9463e97
Deleting old log file from /home/username/.vscode-server/.6445d93c81ebe42c4cbd7a60712e0b17d9463e97.log
Installing to /home/username/.vscode-server/bin/f1b07bd25dfad64b0167beb15359ae573aecd2cc...

  等,也可能是其他类似输出,但是这些输出都不重要,重要的在于其最后的这一串字符,我们称之为commit_id,也就是说,可能由于网络环境或者软件版本不同,该界面具体执行的命令可能不同,导致输出信息不局限于上述信息。但是,重要的是commit_id,只要你能看得懂英语,你就能知道当前软件正在下载的VS Code Server对应的是哪一串commit_id。

2. 手动下载该版本的VS Code Server

  使用Shell通过SSH连接目标服务器,进入~/.vscode-server/bin文件夹。

  使用国内的服务器下载VS Code Server

wget https://vscode.cdn.azure.cn/stable/${commit_id}/vscode-server-linux-x64.tar.gz

  在该命令中,把${commit_id}关键字段替换成你刚刚获得的那一串字符,然后等待下载完成。

  修正:目前由于Visual Studio Code官方团队换了新的更新网址,现在不能用了,新的网址是https://

3. 解压

  解压你刚刚下载到的“vscode-server-linux-x64.tar.gz”

tar zxvf vscode-server-linux-x64.tar.gz

  需要注意,由于你已经启动过VS Code来下载对应的Server,因此当前文件夹下可能是存在一个以你当前${commit_id}为名的文件夹,需要提前确认,如果存在,使用 rm -rf命令删除该文件夹。

  确认当前文件夹下没有以${commit_id}为名的文件夹后,把你刚刚解压出来的文件夹改名为${commit_id}。

mv -f ./vscode-server-linux-x64 ./${commit_id}

4. 清理

  删掉你刚刚下载的“vscode-server-linux-x64.tar.gz”即可。

  重新启动VS Code,现在即可直接连上Linux主机了。

posted @ 2023-10-17 20:26  流光Light  阅读(12267)  评论(0)    收藏  举报