目录

使用VS-Code-remote-ssh进行远程开发的笔记

使用VS Code remote ssh进行远程开发的笔记

本文是在VS Code中使用 remote ssh 进行开发的笔记。

安装插件

打开VS Code,在扩展区找到remote相关插件,安装之。下图中红色框出来的是已经安装了的插件(圆圈处即为Remote Explorer)。

https://i-blog.csdnimg.cn/direct/a2a50afb48264f6b94cec42919d38805.png#pic_center

实践

连接服务器

新建连接:

https://i-blog.csdnimg.cn/direct/3094a8289f804952a38362fe01967c69.png#pic_center

输入ssh登陆信息,回车,会提示有保存的配置文件。 (注:笔者已在windows系统设置ssh免密码登陆远程服务器)

https://i-blog.csdnimg.cn/direct/8b24bfcc20d34eb18ef666ec1e9d3b20.png#pic_center

配置文件(注: Host 可改为易于理解记忆的文字。):

https://i-blog.csdnimg.cn/direct/34ef370c90d54bb1a3e532d329dc5e77.png#pic_center

在当前窗口打开(注:此处SSH连接名称已变化了):

https://i-blog.csdnimg.cn/direct/4b74e669af084a5ba2f6b357027338b1.png#pic_center

选择操作系统为Linux:

https://i-blog.csdnimg.cn/direct/afd9b5374fbf49a6a59279d753c5738f.png#pic_center

开始在远程服务器安装 VS Code Server

https://i-blog.csdnimg.cn/direct/665efda8be2943e297e4b7b47b32ab51.png#pic_center

如果网络不畅通或出错,此步骤会失败。参考后文使用离线方法安装。

如果安装成功,并能正常运行,则有如下提示,点击“Allow”。

https://i-blog.csdnimg.cn/direct/3fcdbc528e5f412dbbbfbe89f08a3ea7.png#pic_center

打开远程服务器工程目录

点击“Open Folder”打开远程服务器目录。

https://i-blog.csdnimg.cn/direct/1cc7174645d84b22b12d9e2dc58fb01f.png#pic_center

可用鼠标导航到所需目录,以下是选择最终目录的截图。

https://i-blog.csdnimg.cn/direct/85a4c6bed2e142d8a7548f9af449c9ee.png#pic_center

点击“OK”完成。即可看到远程服务器c_test目录内容。

https://i-blog.csdnimg.cn/direct/d53a2a11914e4ddd8d44ee2ae6ee145d.png#pic_center

开发示例

使用 Ctrl+~ 打开远程服务器的终端,默认已在目标目录,可进行编译、运行操作。

以下是一次编译和运行的示例:

https://i-blog.csdnimg.cn/direct/9ee7ebb10a5b4184a3ff27548e50e794.png#pic_center

其它操作

关闭远程连接:

https://i-blog.csdnimg.cn/direct/dc9076ff7b1c47a4a4f7a0b06adc4def.png#pic_center

小结

下面是笔者的使用心得:

  • 使用 remote-ssh 开发,与本地开发没有什么差异。
  • 连接过一次后,VS Code会记录工程信息,方便下次访问开发。
  • 本文是用笔者虚拟机作示例的。之前是通过虚拟机挂载目录方式,在本地VS Code打开本地工程,再在虚拟机内编译运行。使用此方法,可以直接将工程放到虚拟机内。
  • 值得说明的是,笔者并没有将工程放到虚拟机内部的习惯,一来,虚拟机体积日益增加(一个centos占了近100GB,一个xp占了近80GB),笔者硬盘已告急。二来,查看代码修改记录也不方便。
  • 但是,本文所涉及的方法,不失为一种跨平台开发的好方法。笔者就使用这种方法,远程解决一个arm平台的bug。首先,通过远程工具连接到服务器,在上面下载工程代码,再在VS Code用 remote-ssh 打开工程,添加调试信息,再在VS Code终端执行docker编译容器进行编译,再用 scp 拷贝到内网的arm平台机器上运行。描述虽多,但基本上在一个工具内可完成上述操作,十分方便。

离线安装 VS Code Server

VS Code需要在远程服务器安装 VS Code Server 方可实现远程开发。

先在 VS Code的Help-> About中查看commit号,按如下格式组装地址(笔者远程服务器是X86,本地commit号是f abdb6a30b49f79a7aba0f2ad9df9b399473380f ):

https://vscode.download.prss.microsoft.com/dbazure/download/stable/fabdb6a30b49f79a7aba0f2ad9df9b399473380f/vscode-server-linux-x64.tar.gz
https://vscode.download.prss.microsoft.com/dbazure/download/stable/fabdb6a30b49f79a7aba0f2ad9df9b399473380f/vscode_cli_alpine_x64_cli.tar.gz

下载得到如下2个文件:

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

再在远程服务器创建目录 .vscode-server ,拷贝下载的文件到该目录。

$ mkdir ~/.vscode-server/
$ cd ~/.vscode-server/
$ ls
vscode_cli_alpine_x64_cli.tar.gz  vscode-server-linux-x64.tar.gz

VS Code Server 有一定的目录格式要求,执行命令如下:

$ mkdir -p  cli/servers/Stable-fabdb6a30b49f79a7aba0f2ad9df9b399473380f/
$ mv vscode-server-linux-x64 server
$ mv server/ cli/servers/Stable-fabdb6a30b49f79a7aba0f2ad9df9b399473380f/

$ tar xf vscode_cli_alpine_x64_cli.tar.gz
$ mv code code-fabdb6a30b49f79a7aba0f2ad9df9b399473380f

说明:对于 vscode-server-linux-x64.tar.gz ,解压得到的是目录,改名为 server ,拷贝到 .vscode-server/cli/servers/Stable-${commit_id}/ 目录下。对于vscode_cli_alpine_x64_cli.tar.gz,解压得到的是文件,将其命名为 code-${commit_id}

参考资源