2019年5月的build大会,最让人沸腾的东西就是VSCode Remote
这么个东西,号称让机器学习开发者进入远程开发时代,直接打开、管理远程服务器、容器中的文件夹和文件,甚至实现了对远程代码文件的Intelli Sense
这套微软的看家本领。这也意味着开发者终于不用在本地电脑中安装五花八门的深度学习框架来写代码了。
7月的VSCode 1.35版本,终于把这个功能放到了VSCode 的 Stable 分支(虽然插件还是预览版),今晚折腾了好一会终于用上了这个真正解放和发展生产力的东西。
Requirements
下面将本地称为local,服务器统一称为host。需要安装的东西各有不同。
Local
- VSCode更新到1.35版本
- 安装Remote相关插件
- 安装OpenSSH,生成公钥。
Host
- 连接互联网
- 安装ssh
- 如果是Python开发者,建议安装anaconda并且搞几个虚拟环境备用
Python的话,为了自动完成、代码补全和错误提示功能,需要安装下面这些东西
- pep8
- autopep8
- flake
- pylint
Configuration
同样地,配置也分为host
和local
两部分。
Host
在自己用户home
目录下面的.ssh
文件夹里面,创建authorized_keys
,将local的公钥(id_rsa.pub
文件)复制进去。
Local
打开VScode,在命令面板shift+⌘+P
输入remote,选择Remote-SSH,选择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
里面进行配置。
要配置的东西和本地的Python
插件差不多,就不赘述了。Reference部分有相关的链接。
效果
一切配置完成之后,让我们看看疗效吧!
可以看到,运行.py
会直接调用远程Python
的东西,这里直接识别了Host的Titan XP计算卡。
另外代码提示也是可以正常工作的
Beyond
这套东西可以说是让我对微软重拾信心,它不仅仅可以用于python的开发,Remote-Container功能也能够让代码调试更加方便,比如golang和java的复杂环境配置,直接就可以新开一个容器然后Remote过去,避免本地PATH
等混乱的问题。
更多的应用需要开发者们的更大的想象力。
当然也需要微软的不懈努力和不掉链子。再次把崇高的赞美送给这个一万亿的公司。