【开发工具】远程开发工具对比
最近有点需要在服务器写代码的需求,这个需求呢,原始是非常简单的,因为我是一个VIM党,因此呢,直接用VIM就可以来实现我的功能,但是呢,因为现在AI是在是太强大了,而且呢,大部分AI都是在IDE上以插件形式来出现的,然后呢,想要用到AI来辅助写代码的特性,那就不得不考虑采用IDE来实现在服务端写代码的功能,当然,也可以实现VIM插件来解决,但是,每次都要去安装配置,实在是太繁琐,所以,还是简单投入IDE的怀抱吧。
注意,体验情况带有我个人的主观性,工具这东西,每个人都有不同的感受,这里仅代表我个人的体验,仅供参考,毕竟黑猫白猫,能抓住老鼠的就是好猫。结果仅供参考,给遇到相同的需求的读者提供一个思路。
前期调研
目前,主流的远程开发工具有如下三个
-
JetBrains Remote Development[1] -
VSCode Remote Development[2] -
Zed Remote Development[3]
后文的测试对比,也主要针对上面三个IDE来处理,具体细节可以看下官方文档,目前方案1和方案3还都是Beta版本,具体他们的对比我们后面再来看。
对比测试
这里,我们主要针对于易用性、流畅度(取决于网速,和服务器电脑配置)、最低的配置要求等来展开测试,通过我的测试,目前每个工具都有它的优点,也有它的不足,所以吧,目前是没有一个对于我来说比较完美的工具的,还是根据具体场景来选择工具吧,接下来,我们分别来看一下测试的结果。
易用性测试
首先,来介绍一下,每个远程工具的使用情况,主要从我个人的体验,来做一个简单的测评。
JetBrains
首先,我们来看一下JetBrains的方案,这里我测试的版本是。
首先,点击新建连接按钮
然后,添加一个服务器的配置,然后选择配置,点击Check Connection And Continue
。
然后,需要等待环境检查,检查通过之后,会提示你选择需要用的IDE。
这里,我们采用C/C++进行测试,因此,这里,我们选择Clion,可以根据具体使用平台自行选择。
这里需要选择项目的目录,具体安装包大小,可以看到要下接近500M的文件,并且项目目录不支持自动创建(目前,不知道为什么,所有的都不支持创建,就是不能先搞个文件夹,只能先提前搞好项目),需要提前创建,或者后续手工创建,这里,下载时间取决于服务器的网速。整个下载过程,网速快,应该还是很快的,但是,如果服务器网速不咋地,那么就要慢慢等待了。
这里,连接成功,就可以直接打开项目了,这里,这里有个连接状态的显示,目前,其他工具我没发现有这么个东西。
虽然说有吧,但是,这个实际上,体验起来还是比较卡的。
整个操作界面和Clion是一致的,但是不知道为什么,这个上面的引入给报了红线,目前代码是没问题的。
这里,如果新建一个CMake的项目,添加一个CMakeLists.txt
整个项目就可以正常识别了。
VSCode
接下来,我们来看一下,VSCode是如何使用的,这里,我采用的版本是
这里,点击,输入对应地址就可以了。
然后,点击这个,就可以进入远程开发环境了。
然后,我们新建一个c的程序,简单试一下。
可以发现是,可以用的,注意,这里只能选择已经存在的路径,而不能直接创建新的文件夹。
Zed
这里,我的Zed版本如下。
最后,我们来看一下Zed, 只需要快捷键command + ctrl + o
,就可以选择连接一个服务器了。
然后,这里需要下载一个远程开发服务。
这里,会遇到一个新的问题,也就是,服务器网络要好,否则这个服务是下不下来的,这算是一个费劲的点,网络区域不好的服务器,就不要考虑这个方案了。然后,这里点击打开文件夹。
当然,这个也没有办法直接创建文件夹,这个好处是,代码可以自动识别到C语言,然后自动给出语法高亮和代码提示,并且终端调出来也比较清爽,
然后,测试也是好用的。
总体来说,JetBrains的操作是比较繁琐的,VSCode和Zed操作差不太多,然后如果不考虑网络因素,这两个都可以,前提是,VSCode需要自己配置插件,而Zed,基本上可以做到不太用添加额外的插件,就可以有代码跳转以及代码补全的功能。
实际项目测试
这里,我们选择boringssl进行测试,主要是看代码提示以及代码格式化,能不能自动跳转,因为目前可能我的需求是写C代码,所以只对于C进行测试,因为CLion对于Makefile支持并不好,所以吧,还是直接搞个CMake项目来看下。
JetBrains Gateway
然后,打开项目,等待索引完成,可以发现这个工具虽然卡,但是整个体验和CLion是差不多的,而且语法高亮和跳转也非常不错。
这里插一句题外话,boringssl里面已经支持NIST发布的那三个抗量子算法了,这个有机会再来看吧。从实际测试来看,如果是CMake项目,CLion的支持,相对来说是最好的,如果有CMake项目,抛开价格因素的话,这个是一个不错的选择。
VSCode
这里,安装完插件之后,C++代码便可以正常跳转了。
会自动提示你需要安装插件,注意这个插件应该是放在服务端上的,客户端上装了没用,每次换服务器,都要重新安装。
可以发现,是正常使用的,目前,这个只是需要安装插件,安装之后,跳转也是好用的。
Zed
目前,这个,不能够正确的识别CMake项目,也可能是我用的姿势不对,目前还没解决识别的问题,只能支持部分的跳转。
也不是说,完全不能用,只不过体验稍微差了一点。
占用资源测试
首先,我们考虑下性能,这里基准测试呢,
这里,我们开一个云服务器,为了保证测试的公平性,这里我们不开竞价实例,斥巨资开一个正常的服务器来测试下,为了更好的测试性能呢,这里我们先用2c2g的服务器作为测试,看一下具体的体验情况,有读者问了,为啥不开虚拟机呢,因为麻烦,开虚拟机装系统,我都够开好几个云服务器测试结束了。
JetBrains Gateway
首先,我们还是先来看JetBrains的方案,至于怎么配置,就不再重复的赘述了,我们直接看结果,可以发现,这个有最低的内存限制4g,以及最小的核心限制4个核心。
所以,可以发现,这个对于服务器的占用还是比较高的。
VSCode & Zed
这两个,都可以正常使用,因此,目前来看,还是挺不错的,这两个可以正常安装使用。
总结
本篇文章呢,我们测试了三个常见的远程开发工具,这里 ,我们最后来总结一下,他们之间的优势与劣势,具体读者可以根据自己的项目自行选择。
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
总体来说呢,如果说本身是一个CMake项目,并且,远程端的配置还可以的话,抛开价格因素,习惯CLioin的风格,可以考虑下JetBrains Gateway, 否则还是选择VSCode吧,如果说项目本身比较小,并且服务器配置不太高,又不想用vscode,想要尝试一下的话,可以考虑Zed, 这个本身rust写的,流畅度还是非常可以的,好了快乐的时光过得特别快,又到了说再见的时候了,咱们下次再见。
参考资料
-
https://www.jetbrains.com/remote-development/ -
https://code.visualstudio.com/docs/remote/remote-overview -
https://zed.dev/docs/remote-development
原文始发于微信公众号(Coder小Q):【开发工具】远程开发工具对比
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论