VSCode Remote 报错,无法连接??
各位客官好呀,我是小二!
本期给您分享一下小二踩的坑。
在用 VSCode 通过 Remote 插件,远程连接到开发服务器时,报错(无法连接)的处理过程。
1 错误提示
小二统计了部分错误提示,有这种的
could not establish connection to “XXX“.Connecting was canceled.
还有这种的
VScode remote '_workbench.downloadResource' failed
最后还有这种的
vscode could not establish _workbench.downloadResource
总之,错误提示有很多种,最后小二感觉都是同一种问题。
2 参考资料
老规矩,小二先呈上解决过程中,参考的资料,请您查阅。
【推荐】[Using “Remote SSH” in VSCode on a target machine that only allows inbound SSH connections](https://stackoverflow.com/questions/56718453/using-remote-ssh-in-vscode-on-a-target-machine-that-only-allows-inbound-ssh-co)
VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决(https://blog.csdn.net/ibless/article/details/118610776)
VSCode 报错:could not establish connection to “XXX“.Connecting was canceled.(https://blog.csdn.net/lvshu_yuan/article/details/107117367)
3 问题分析
当我们使用 Remote 连接到远程服务器时,在服务器会有一个 .vscode-server
的隐藏目录,该目录的作用,就是存放不同 VSCode 版本的远程连接信息。
为什么这么说呢?客官您如果仔细观瞧,就会发现,在 .vscode-server/bin
目录有好多不同的 HASH 版本号。
类似下图这样:
小二理解 正常 的处理逻辑:如果 VSCode 软件有更新,则会自动去下载对应版本的 vscode-server
软件,此时如果我们的 VSCode 有更新多个版本的话,就会在上述目录看到不同的 HASH 版本。
这个 HASH 值,与 VSCode 软件当前版本的提交 HASH 是一致的,位置如下图所示:
如果不正常呢?
此时 VSCode 就不会自动去下载对应版本的 vscode-server
软件,这就导致我们的软件版本已经由 A 更新到 B 了,但是远程连接的 vscode-server
软件还是 A 版本一样。
版本不匹配,肯定就无法正常使用了呀😱😱😱
理解了原因,解决办法也很简单:手动去官网下载对应版本的 vscode-server
软件,手动更新即可!
4 解决步骤
1、查看当前 VSCode 的版本号,就是前图所示提交的 HASH 值,复制下来;
2、替换如下网址中的 $COMMIT_ID
,然后到浏览器打开,即可开始下载软件;
# 稳定版的插件链接
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable
以我的版本为例,如下所示
那么小二应该使用的网址,就是这样的
https://update.code.visualstudio.com/commit:379476f0e13988d90fab105c5c19e7abc8b1dea8/server-linux-x64/stable
然后去浏览器打开此网址
点击回车后,就会自动开始下载文件
3、下载完毕后,放到服务器对应路径,以小二的版本为例,应该是如下路径
.vscode-server/bin/379476f0e13988d90fab105c5c19e7abc8b1dea8
4、进入该目录,解压对应的压缩包文件,使用如下命令(注意后边的解压选项,是阿拉伯数字 1 )
tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
5、解压完毕后,就可以删除多余的压缩包文件
rm vscode-server-linux-x64.tar.gz
6、操作结束,关闭 VSCode ,再重新打开,使其自动连接;或者不关闭软件,重新手动连接服务器也行。
7、到这就没啦,别看啦哈哈😛😛😛
5 总结
1、参考教程,提供了两个版本的 vscode-server
软件链接,分别如下:
# For Stable Version(稳定版本)
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable
# For Insider Version(内测版本?)
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/insider
2、遇到问题,还是应该多查资料,善于利用互联网,特别是学会用 Google !!!
3、理解问题内部的原因,然后解决问题才能斩草除根!
4、折腾了很久,总算是搞定了问题,谢谢提供帮助的各位🧡🧡🧡
最后,小二祝大家顺顺利利的编码,软件配置顺利,编码顺利,永无 BUG !哈哈哈哈~