2019年5月的build大会,最让人沸腾的东西就是VSCode Remote这么个东西,号称让机器学习开发者进入远程开发时代,直接打开、管理远程服务器、容器中的文件夹和文件,甚至实现了对远程代码文件的Intelli Sense这套微软的看家本领。这也意味着开发者终于不用在本地电脑中安装五花八门的深度学习框架来写代码了。

7月的VSCode 1.35版本,终于把这个功能放到了VSCode 的 Stable 分支(虽然插件还是预览版),今晚折腾了好一会终于用上了这个真正解放和发展生产力的东西。

Requirements

下面将本地称为local,服务器统一称为host。需要安装的东西各有不同。

Local

  1. VSCode更新到1.35版本
  2. 安装Remote相关插件
    Remote plugins
    Remote plugins
  3. 安装OpenSSH,生成公钥。

Host

  • 连接互联网
  • 安装ssh
  • 如果是Python开发者,建议安装anaconda并且搞几个虚拟环境备用

Python的话,为了自动完成、代码补全和错误提示功能,需要安装下面这些东西

  1. pep8
  2. autopep8
  3. flake
  4. pylint

Configuration

同样地,配置也分为hostlocal两部分。

Host

在自己用户home目录下面的.ssh文件夹里面,创建authorized_keys,将local的公钥(id_rsa.pub文件)复制进去。

Local

打开VScode,在命令面板shift+⌘+P输入remote,选择Remote-SSH,选择Connect to Host。

选择Connect to Host
选择Connect to Host

输入的内容,形式是username@host-ip

对于常用的服务器,也可以创建别名,选择“打开配置文件“

配置文件
配置文件

按照提示输入别名和username还有ip就完事了。

第一次连接的时候,vscode会在Host安装VSCode Server,需要几分钟时间。记得服务器保持联网。

连接成功时,注意左下角提示
连接成功时,注意左下角提示

Let‘s Get your hands dirty!

连接成功之后会弹出新窗口,选择Open a folder,会让你直接选择Host上面的文件夹

打开文件夹
打开文件夹

在正式写代码之前,还需要一些配置,因为本地的插件在远程没办法直接用了。

在插件边栏也会提示你,一些东西可以直接在Remote安装

安装插件到服务器
安装插件到服务器

这里只安装Python。

Plugin Settings

事实上,Host和Local在编程环境上是完全隔离的,所以要使用Python代码智能提示,需要安装上面提到的插件,还要在setting里面进行配置。

注意Remote标签
注意Remote标签

要配置的东西和本地的Python插件差不多,就不赘述了。Reference部分有相关的链接。

效果

一切配置完成之后,让我们看看疗效吧!

错误提示和代码运行
错误提示和代码运行

可以看到,运行.py会直接调用远程Python的东西,这里直接识别了Host的Titan XP计算卡。

另外代码提示也是可以正常工作的

Intelli Sense
Intelli Sense

Beyond

这套东西可以说是让我对微软重拾信心,它不仅仅可以用于python的开发,Remote-Container功能也能够让代码调试更加方便,比如golang和java的复杂环境配置,直接就可以新开一个容器然后Remote过去,避免本地PATH等混乱的问题。

更多的应用需要开发者们的更大的想象力。

当然也需要微软的不懈努力和不掉链子。再次把崇高的赞美送给这个一万亿的公司。

Reference