当使用VScode连接远程服务器时,往往需要使用Remote-SSH这个插件。而该插件有一个小bug,当远程服务器网络不佳时容易出现。

在控制台会出现下述语句:

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)

原因

该插件在连接远程服务器时,插件会在服务器端自动运行一个脚本。该脚本的主要内容是检查服务器的vscode-server的运行情况,若服务器端不能运行,则会自动下载。而当服务器网络不佳时,下载往往会超时,导致连接失败。

解决方法

懂了报错的原因,那就可以从中找出解决方法。即手动在本地下载安装包,然后手动传到服务器端。
注意:

  • .开头的文件夹是隐藏文件夹,ls 命令无法查看,
  • 使用 ls -a可以查看隐藏文件夹。
  • ls -al 可以查看所有文件夹的详细信息,包括创建时间等。

步骤:

  1. 通过其他SSH等方式(如:Xshell),进入远程服务器的Terminal。

  2. 在服务器端,进入下面的目录,获取commit id。
    使用以下命令导航到 .vscode-server/bin 目录,并且查看当前目录下的commit id,并且复制commit id。

    cd ~/.vscode-server/bin
    ls
    

    此时可能会有多个commit id显示,这时候我们只需要选择vscode报错的那个commit id即可。具体可以在vscode报错信息中找到。
    例如:
    在这里,我的commit id就是2ccd690cbff1569e4a83d7c43d45101f817401dc。

  3. 手动下载出问题的包(tarball),注意下面的COMMIT_ID要替换成自己在上一步得到的commit id。
    稳定版下载链接:https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable

    https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable
    

    内测版下载链接:https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/insider

    https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/insider
    

    如我的稳定版链接就是:

    https://update.code.visualstudio.com/commit:2ccd690cbff1569e4a83d7c43d45101f817401dc/server-linux-x64/stable
    
  4. 下载后会得到一个vscode-server-linux-x64.tar.gz,将其通过xftp等方式传到服务器上。路径:~/.vscode-server/bin/COMMIT_ID/vscode-server-linux-x64.tar.gz

  5. 在服务器端进入该路径,解压。

$ cd ~/.vscode-server/bin/$COMMIT_ID
$ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
  1. 重新使用VScode进行连接。

附上:如何在xftp中查看隐藏文件。参考:【问题记录】如何在xftp上查看隐藏文件。

Logo

一站式 AI 云服务平台

更多推荐