概述

距离发表上一篇介绍 Code With Me 的文章:Jetbrains 家新特性 Code With Me 入坑 已经过去一周多了,在这里一周多的时间里,我尝试了若干种利用这个工具进行多台机器无缝衔接写代码的实践,最后觉得其中一种还不错,对我比较适合,所以在这里就介绍一下这种方式。

这里我所谓的无缝衔接多台机器写代码指的是我在家里和公司的电脑都可以无缝对接,也就是可能我在公司的代码还没有写完,但是又着急回家,那么我直接关机或者锁屏就走了;然后回到家之后,直接打开家里的电脑,打开 IDE 就可以继续公司的代码。这种模式其实在文档中已经非常有很多不错的工具了,例如 Google Docs 之类的,编写文档你完全可以简单地做到我想要的效果。

整体介绍

我最终选择的一个实践就是我从公司的云平台中申请一台带 GUI 的开发机器(我用的是 CentOS,其实 Windows 也无妨),然后在这台机器上运行一个跑着 Code With Me 的 IDE,然后无论是我在公司的电脑还是家里的电脑,我都远程连接到这台 IDE 进行开发,这样就可以无缝连接了。

看上去只需要根据这个思路和我前面一篇文章,就可以实现这个效果了,但是,有一些细节还是有必要谈一下的。这里就列举一下我遇到的一些问题:

证书问题

因为公网的服务是 Jetbrains 提供的,所以使用这个服务的话可能获得的体验不是最佳的,所以我选择了自己部署私服,具体的方法我也已经在第一篇的文章中介绍过了。

但是,自己部署私服的一个痛点就是一般来说你的 HTTPS 证书都不是可信任的,(当然,有很多方法可以签一个真实可信任的证书,但是操作起来都不简单),所以 IDE 都需要你确认是否信任这个证书,经过一些尝试之后,我发现可以设置 IDE 自动信任非认证的证书(注意:这个功能可能有一些安全隐患,但是对我来说影响不大),具体过程为:

下载服务器 ca 证书

从你第一步的步骤中将 lobby 的 ca 证书下载下来,保存在本地的机器。

添加信任证书

然后将 lobby 证书添加到 IDE 中(最好是所有的 IDE 都加),添加的位置在 IDE 的 “Setting” -> “Tools” -> “Server Certificates”,设置页面为:

图 1:设置 IDE 配置

记得选中上面的接受非信任证书,同时,在下面点击 + 号添加你下载下来的 lobby 证书,这样,只需要信任一次后面就自动接受了。

接入确认

Code With Me 的接入确认确实是一个比较烦的问题,所以这也是我为什么选择云平台的虚拟机的原因,因为这样子我就可以在公司或者在家里都可以直接远程打开这个虚拟机进行确认了。

可能你会问,既然都可以访问到这台虚拟机,那么你还搞那么多事情干嘛,直接在这台虚拟机上开发不就好了?是个好问题,首先我需要说一下的是这个远程的虚拟机是在云平台上的,你确定它可以很好地支撑你进行 IDE 的开发?其次,如果你说用什么 IDE,改用 VIM / Emacs 不就好了?额,大神,打扰了,请关闭这个网页吧。

当然,如果嫌弃使用云平台的虚拟机关机,那可以的话,不如给自己的虚拟机加个 VNC Server?这样会爽非常多。

小结

在本文我介绍了一种我在实际实践中觉得不错的远程共享 IDE 开发的方式,但是我觉得这种方式还不是完美的,如果你有更好的其他方式,不妨留言交流一番(VSCode 劝退)。