北京时间 2019 年 5 月 3 日,在 PyCon 2019 大会上,微软发布了 VS Code Remote。包含三个核心插件,开发者可以在容器,物理或虚拟机,以及 Windows Subsystem for Linux (WSL) 中实现无缝的远程开发(树莓派适用)。

# 安装插件

插件商店搜索 Remote Development ,通过安装 Remote Development Extension Pack ,可以快速上手远程开发。

Remote Development extension pack 包括三个扩展:

  • Remote - SSH - 通过使用 SSH 打开远程计算机或者 VM 上的文件夹,来连接到任何位置。
  • Remote - Containers – 把 Docker 作为开发容器。
  • Remote - WSL - 在 Windows Subsystem for Linux 中,获得 Linux 般的开发体验。

# 配置 ssh 公钥,实现免密登录

首先确保系统有 Openssh ,一般 Windows10 默认安装,然后执行:

$ ssh-keygen -t rsa -C "你的邮箱"

替换为你自己的邮箱,然后一路回车就行。

用户目录下会生成 .ssh 文件夹,里面的 id_rsa 存着私钥, id_rsa.pub 存着公钥。用 ssh 登录服务器,复制 id_rsa.pub 内的公钥,将其粘贴到服务器的 authorized_keys 文件里。

$ cd ~/.ssh
$ nano authorized_keys

在本地的 C:\Users\用户名\.ssh 新建 config 的无拓展名文件,写入配置:

Host hostname1
    Port 22
    HostName xxx.xxx.xxx.xxx
    User root
    ForwardX11 yes
    ForwardX11Trusted yes
    TCPKeepAlive=yes
    ServerAliveInterval 60
    IdentityFile ~/.ssh/id_rsa

其中 HostName 表示服务器主机 IP, ForwardX11ForwardX11Trusted 表示支持 X11转发TCPKeepAlive 表示保持连接, ServerAliveInterval 表示客户端主动向服务端请求响应的间隔。如果有多台服务器就隔着一行复制粘贴,修改一遍就行了。

# VS Code 远程登录

点击左侧菜单栏的 Remote Explorer 或者左下角的蓝色图标。

点击 Remote-SSH: Connect to Host...

选择一个配置好的主机

点击 Continue

登录后左下角的蓝色图标显示主机名

点击 Open Folder 打开一个目录

比如选择 giligili-vue 文件夹

# 总结

Jetbrains 全家桶专业版有远程终端的功能,这点是我离不开它的原因,但是自微软官方发布了 VS code 的远程插件,用起来很 exciting,比 Jetbrains 的好用,而且是真正做到了直接本地编辑远程工程的目的,不用同步到本地,这是个好消息,尤其是在本地孱弱的算力配置下,开发更加流畅(只要保证连接的延时不大,不掉线)。

配置方法也比较简单,玩过树莓派的同学应该知道,毕竟经常用,那就是 ssh 远程,也就是免密登录嘛(虽然很多人习惯用密码)。