vscode 更新后无法使用ssh远程开发

vscode 更新后无法使用ssh远程开发

一 问题原因描述

开发环境采用 VSCode + Remote SSH 所有的配置已经搭建完成本地开发,代码自动同步到服务器。今天Visual Studio Code 推出1.4.11版本,VS code自动安装成功后,本地无法打开远程服务器文件进行开发,提示 Waiting for vscode-scp-done.flag and vscode-server-linux-x64.tar.gz to exist。

二 原因分析

从终端输出的日志来看ssh连接成功、一直在请求获取vscode-server-linux-x64.tar.gz 这个文件,导致安装进程阻塞。

从这个日志来看进程是处于阻塞状态,个人觉得微软的这个设计很有问题,还不如直接输出错误日志便于排查问题。其实仔细分析就可知道这是因为文件没有下载下来导致,大概率是因为服务器网络问题。

三 问题解决过程

3.1 手动下载原始文件

对于这种文件缺失问题,常规就有2种解决办法,解决网络问题、自己下载文件将文件上传到相应目录下。考虑开发服务器网络环境的特殊性,我直接去微软官网下载这个文件。下载链接结构如下 https://update.code.visualstudio.com/commit:<commit-id>/server-linux-x64/stable,要选择stable表示稳定版本的意思。这个里面的commit-id表示要下载的vscode版本id例如我这次就需要下载26076a4de974ead31f97692a0d32f90d735645c0 这个版本的文件,那么就直接wget https://update.code.visualstudio.com/commit:26076a4de974ead31f97692a0d32f90d735645c0/server-linux-x64/stable 下载这个下来,这里有个插曲wget如果没有指定下载文件保存文件名,默认就保存文件名为stable这个时候不要惊慌,把stable 重新命名为vscode-server-linux-x64.tar.gz 就可以。

3.2 手动安装程序包并检查

文件下载成功之后,将文件包存到.vscode-server/bin/ 这个路径下同时将压缩文件解压出来。不要以为这样就成功了,我们还差最后一步。将解压出来的文件夹重命名为 commit-id ,例如我就需要将解压出来的文件夹命名为26076a4de974ead31f97692a0d32f90d735645c0,这个时候再重新打开vscode 远程开发目录,自动识别到已经下载vscode-server-linux-x64.tar.gz 进入自动初始化环节,安装完毕后就可以正常打开服务器上的文件进行开发了。

四 总结

1 当使用软件过程出现问题后不要慌张,软件输出日志分析错误原因,常规的软件安装问题大概率就是脚本自动下载文件失败、缺少某个运行时库等。

2 在网络找相关问题看看大家是如何解决这个问题,看看能不能找到类似解决办法。

3 vscode是一款优秀的开发工具,里面包含有很多优秀的插件、推荐使用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注