Fleet试用

2023-09-14

fleet vscode

Author: 向雪松

Link: https://zhuanlan.zhihu.com/p/656156319

Fleet是Jetbrains开发的一款轻量级IDE,对标vscode,从目前宣传的功能看,确实与vscode重合度非常高。除了常规的多语言支持、语法高亮、代码补全、重构、导航、运行、调试等等,与vscode一样也支持远程访问、容器,另外,Fleet还有一些比较独特的功能让人比较感兴趣,包括智能模式和分布式架构,还有Space。我们来体验一下,到底Fleet是怎样一款IDE。

Fleet与Jetbrains的其他软件一样,需要从官方的Toolbox安装。官网可以直接下载安装Toolbox,选择Fleet安装,我们安装的版本是public preview 1.23.173。安装过程很快,没怎么注意,浏览了一个网页就完成了。打开Fleet是这样的界面:

Space挺感兴趣的,不过需要先配置Jetbrains的Space,具体参考https://www.jetbrains.com/zh-cn/space/features/dev-environments.html,Fleet也够简洁的,这么空旷的界面,该有的帮助和指引都没有。

因为工作中远程访问用的比较多,直接调到连接到SSH的选项,这个不然vscode方便,没有支持ssh的config,还需要自己输入host等配置。

选择连接,进入一个大黑页,应该是欢迎页没有做,右上角显示加载状态,跟vscode一样,会在远程安装一些软件支持,貌似会下载docker相关的内容。大概持续两三分钟结束加载,继续保持大黑页的状态,不清楚这个地方为啥做的这么简陋,好歹放一个欢迎页面或者帮助也可以嘛。

打开一个远程的目录,这回看上去没那么空旷了,右侧空白处显示了一些快捷键。

action会打开类似于vscode的命令面板的界面,不过看上去更精致一些。

IDE界面只有三个panel,分别是左侧、下侧和右侧,左上角的图标可以方便的显示/隐藏这些panel,除了左侧默认打开文件目录树之外,其他的panel默认都是隐藏的,需要自己打开相应的工具,非常简洁,但也可以说是简陋。也许是预览版吧,我觉得应该是根据不同语言的项目显示预设的布局。

打开的是一个C++项目,语法高亮支持没问题,但是代码跳转不可用,不知道是否需要配置,我们只是简单的体验一下,就不折腾这个了。其实vscode在C++的代码跳转上配置也比较麻烦,各种C++的依赖库经常会找不到,当项目中有多个CMakeList的时候尤其如此。

就在打算看看其他功能的时候,我注意到右上角的状态似乎是在进行C++的配置,如下图,应该是下载了clang的lsp server,然后进行配置。虽然我用的gcc,但是代码跳转问题不大吧,那就再等等吧。

转了一圈,差不多十几分钟的样子,C/C++ Analyzer配置好了,右上角那个闪电图标标红了,这个是智能模式的按钮,显示可以支持代码补全、错误检测和重构,看来之前跳转不成功跟这个有关。那个Trancated ZIP file可能是hi由于项目中有zip文件导致无法索引,忽略调了,如果是这样,那这个警告真没必要。

跳转可以了,不过函数基本都是跳到定义,而不是实现,有些不方便。对于比较复杂的模板类函数,基本上跳转到实现没法做到,貌似vscode我也没成功。

错误检测与建议 上面这个图是错误检测,改了一个变量名,能立刻识别错误并给出建议,这个比vscode我用的C++插件强,vscode的提示如下图。

vscode的错误检测与建议 重构修改变量名,有提示多少变量引用会受影响。vscode类似功能不在重构中,而是菜单中的修改变量名。

打开一个Python文件,状态提示在下载IntelliJ,估计是个python插件吧,这方面比vscode做的好,毕竟是一个成熟的IDE,大部分语言支持都不需要依赖第三方,直接选择最合适的自动下载安装就好。

右侧的导航条上直接用颜色标明了warning和weak warning,估计还会有红色的error,乱敲了几个字符,果然增加了几个红色的error,并且显示数字的卡片变得挺有意思,显示出了细节。不过,我⌘-Z回退输入发现刚才乱输入的几个字符居然没有完全清楚,不能回退到最初状态,不知道算不算bug。vscode滚动条也是类似各种颜色,还会有蓝色、绿色之类的,跟git改动有关。

运行代码需要配置,跟vscode一样也是配置一个json,暂时就不折腾了。

vscode在远端会起cpptools和cpptools-srv两个进程,都是1G左右的内存,还有几个node进程加一起算400M吧,fleet的进程主要有eet.clangd.main(800M),两个Java进程(2.6G、600M),fsdaemon(200M),算起来内存占用其实差不多,fleet略高一些,因为fleet是刚打开一个C++项目,而vscode已经用了一周,还有各种别的插件在跑。

总体上Fleet还是很顺滑的,速度也很快,一些细节强于vscode,但也有不如vscode的地方,功能不如vscode多,生态肯定也不如vscode,总体上看还没到能替代vscode的地步,按照官方说明,价格未定,会有免费版,但是免费版在远程访问上有所限制,docker支持也就罢了,如果免费版没有ssh支持我估计会劝退一大部分人。至于那个space支持,看上去挺好,可以配置复杂的环境,对于复杂的项目很有用,比如我们会有异构的存储和编程语言,需要docker起若干容器,每次部署测试环境都需要折腾半天,如果Fleet能搞定复杂开发环境的重复利用,估计会有人花钱去买支持的。

 
阅读