问题

如何看待 JetBrains 推出的轻量级编辑器 Fleet?

回答
JetBrains 推出的轻量级编辑器 Fleet,自发布以来就吸引了众多开发者和技术关注。它的出现,标志着 JetBrains 在其庞大的 IDE 产品线之外,开始探索更轻量、更灵活的编辑器领域,旨在满足不同开发者场景的需求。

要全面看待 Fleet,我们可以从以下几个方面进行深入分析:

1. Fleet 的定位与目标:为什么是“轻量级”?

JetBrains 最为人熟知的便是其功能强大但相对“重”的 IDE 系列,例如 IntelliJ IDEA, PyCharm, WebStorm 等。这些 IDE 提供了极其全面的功能,包括但不限于:

深度代码理解: 强大的代码分析、重构、代码补全、导航等。
集成开发环境: 内置的构建工具、调试器、版本控制集成、数据库工具等。
插件生态系统: 丰富的第三方插件扩展了几乎所有你能想到的功能。

然而,这种深度和广度也带来了显而易见的缺点:

启动速度和内存占用: 对于大型项目,或者在配置较低的机器上,JetBrains IDE 的启动速度和内存占用可能会成为瓶颈。
学习曲线: 功能过多有时会显得臃肿,对于只需要基本编辑功能的开发者来说,学习成本较高。
特定场景限制: 某些轻量级、快速的代码编辑需求(例如修改配置文件、快速脚本编写)并不需要一个完整的 IDE。

Fleet 的出现正是为了填补这个空白。 JetBrains 试图打造一个能够快速启动、资源占用少,同时又能继承 JetBrains 在代码智能方面的核心优势的编辑器。它的“轻量级”体现在:

快速启动: 区别于传统 IDE 的庞大启动过程,Fleet 旨在秒级启动。
低资源占用: 无论是 CPU 还是内存,Fleet 都力求在运行时保持较低的消耗。
模块化设计: 允许用户按需加载功能,避免不必要的资源浪费。

2. Fleet 的核心架构与工作原理:协同的智慧

Fleet 的独特之处在于其分布式架构和协同工作模式。它并不是一个孤立的编辑器进程,而是由一个 "Space" (或称为 "Fleet Daemon") 和一个 "Client" 构成。

Fleet Daemon (Space): 这是 Fleet 的核心引擎,负责处理更重度的任务,如代码分析、索引、语言服务器集成等。Daemon 可以独立运行在本地机器,也可以远程运行在服务器上(例如通过 SSH 连接)。这意味着你可以用一个轻量级的客户端连接到一个强大的后台引擎。
Fleet Client: 这是用户直接交互的界面部分,负责渲染 UI、处理输入事件等。Client 部分是轻量级的,可以快速启动和响应。

这种架构带来的优势:

性能优化: 将耗时的代码分析等任务转移到 Daemon,显著提升了 Client 的响应速度和流畅度。
跨平台与远程开发: Daemon 可以运行在任何支持的操作系统上,客户端也可以连接到远程 Daemon,实现高效的远程开发体验,而无需在远程机器上安装完整的 IDE。
资源共享: 如果有多个 Fleet Client 连接到同一个 Daemon,它们可以共享索引和分析结果,进一步提高效率。

关键技术点:

JetBrains 的代码智能引擎: Fleet 继承了 JetBrains 在 Kotlin、Java、Python 等语言上积累的深度代码理解技术。即使是轻量级编辑器,也能提供 JetBrains 标志性的代码补全、重构、错误检查等功能。
Language Server Protocol (LSP) 集成: Fleet 广泛使用 LSP 来与各种语言服务器通信,从而实现跨语言的代码智能。这是现代编辑器实现强大语言支持的标准方式。
Workspace 的概念: Fleet 使用 "Workspace" 来管理文件和项目。一个 Workspace 可以包含多个文件、目录甚至远程项目,并能在它们之间快速切换和进行索引。
自定义与扩展性: 虽然是轻量级编辑器,JetBrains 也为 Fleet 设计了扩展机制,允许开发者自定义快捷键、代码片段,甚至开发更复杂的插件。虽然目前插件生态仍在发展中,但其潜力巨大。

3. Fleet 的功能特性:“轻量”与“智能”的结合

Fleet 提供了许多吸引人的功能,在保持轻量级的同时,依然能够满足许多开发场景的需求:

闪电般的启动速度: 这是 Fleet 最显著的优势之一,可以快速打开任何项目,进行即时编辑。
JetBrains 的代码智能: 即使在轻量级环境下,也能享受到 JetBrains IDE 的核心代码补全、语法高亮、错误提示、导航等功能。这对于熟悉 JetBrains 生态的开发者来说是巨大的吸引力。
多语言支持: 通过与各种语言服务器(LSP)的集成,Fleet 可以支持广泛的编程语言,如 Python, JavaScript, TypeScript, Go, Rust, Java 等。
强大的搜索功能: 支持文件内容搜索、符号搜索等,并且速度非常快。
集成的终端: 可以方便地在编辑器内打开终端进行命令操作。
版本控制集成: 支持 Git 等版本控制系统,提供基础的查看和提交功能。
远程开发能力: 通过 SSH 或其他方式连接到远程服务器上的 Fleet Daemon,实现无缝的远程开发体验,就像在本地操作一样。
可定制性: 允许用户自定义主题、字体、快捷键等,以适应个人偏好。
基于 JetBrains Runtime (JBR): Fleet 构建在 JetBrains 自有的运行时环境之上,保证了跨平台的一致性和性能表现。

4. Fleet 的优势与吸引力

解决性能痛点: 对于使用大型项目或配置较低的开发者来说,Fleet 提供了一个性能上的绝佳替代方案,无需牺牲 JetBrains 的代码智能。
统一的开发体验: 无论是在本地机器还是远程服务器上,开发者都能享受到一致的代码智能和操作体验。
更广泛的使用场景: Fleet 不仅仅是另一个文本编辑器,它是一个集成了强大代码分析能力的“智能编辑器”,可以胜任从快速脚本编写到小型项目开发的多种任务。
吸引新用户: 对于那些认为 JetBrains IDE “太重”而望而却步的开发者,Fleet 提供了一个接触 JetBrains 技术栈的入门级产品。
与 JetBrains 生态的协同: 随着 Fleet 的发展,它很可能与 JetBrains 的其他产品(如 Space, YouTrack 等)产生更深度的集成。

5. Fleet 的挑战与不足

尽管 Fleet 潜力巨大,但作为一款相对较新的产品,它也面临一些挑战和不足:

插件生态系统仍在建设中: 相比于 JetBrains IDE 成熟的插件生态,Fleet 的插件数量和种类目前还比较有限。许多用户依赖的特定插件可能尚未支持。
功能深度 vs. 广度: 虽然 Fleet 在保持轻量级的同时提供了核心的代码智能,但在一些非常专业的开发场景下(例如特定的框架集成、高级调试功能),其功能深度可能不如完整的 JetBrains IDE。用户需要在“轻量”和“全面”之间做出权衡。
学习曲线(相对而言): 虽然比完整的 IDE 要轻量,但其分布式架构和 workspace 的概念对一些初次接触 JetBrains 产品线的用户来说,可能仍然需要一些时间来适应。
商业模式的不确定性: 目前 Fleet 的定位和未来是否会像其他 JetBrains 产品一样采用订阅制,或者有其独立的定价策略,还需要进一步观察。
竞争激烈: 在轻量级编辑器领域,已经存在许多成熟且强大的竞争对手,如 VS Code, Sublime Text, Atom (已停止开发), Nova 等。Fleet 需要证明其独特的价值。

6. 未来展望

JetBrains Fleet 的推出,显示了 JetBrains 想要覆盖更广泛开发者群体和开发场景的决心。它的未来发展方向可能包括:

插件生态的快速扩张: 这是决定 Fleet 能否成功的关键因素之一。如果能够吸引大量开发者为其贡献插件,Fleet 的竞争力将大大增强。
与 JetBrains 生态更深度的集成: 期待 Fleet 在项目管理、CI/CD、代码审查等方面与 JetBrains Space 等产品有更紧密的结合。
更精细的性能优化和资源管理: 持续打磨 Daemon 和 Client 的性能,使其在各种环境下都能提供极致的体验。
针对特定开发场景的优化: 可能会推出针对特定语言或技术栈的预设配置和优化,使其在某些领域具有更强的吸引力。
商业模式的明确: 一旦商业模式确定,将有助于用户更清晰地评估其长期价值。

结论

JetBrains Fleet 是一个令人兴奋的产品,它试图在“轻量级”和“智能代码编辑”之间找到一个绝佳的平衡点。它继承了 JetBrains 在代码分析方面的深厚功底,并通过创新的分布式架构,实现了快速启动和低资源占用的目标,同时提供了强大的远程开发能力。

对于那些渴望拥有 JetBrains 般智能代码体验,但又对传统 IDE 的性能有所顾虑的开发者,或者需要在不同环境间频繁切换的开发者来说,Fleet 极具吸引力。当然,它也面临着插件生态、功能深度等方面的挑战。

总而言之,Fleet 是 JetBrains 在编辑器领域的一次有意义的探索,它有潜力改变许多开发者选择编辑器的标准,成为一个非常有竞争力的轻量级智能编辑器。它的发展值得我们持续关注。

网友意见

user avatar

欢迎欢迎,编辑器市场多一个搅局者最好,不管你最终用什么编辑器,互相竞争,互相学习才会有进步:

  • Sublime 最先发明了 minimap,被 atom/vscode 借鉴了。
  • Sublime 最先在 GUI 的编辑器里引入 command palette,被 atom/vscode 借鉴了。
  • Atom 催生了 vscode,后者像前者学习了不少东西,并吸取了 Atom 的教训。
  • NeoVim 刺激了 Vim 8.0 - 8.2 一系列给力的更新。
  • vscode 发明了 LSP,DAP,众多编辑器都跟随学习。

现代项目开发往往都是一个项目中有多种语言,单一语言的 IDE 虽然专业,但是不够多样性。通用编辑器能够让你在编写不同语言的代码时保持一致的体验,同时不少新技术一开始都不会有适合的 IDE,但是编辑器 + LSP/DAP 却已经可以干大部分 IDE 才能干的活了。

长期看,通用编辑器作为 IDE 的重要补充,会持续存在。希望 Fleet 的加入,又能再次给众多编辑器带来新的思想,引入新的体系。

--

user avatar

我认为这应该是一个大型的重构行为。

现在的 JB 家产品虽然很多,但实质上都是同一个 codebase 来的。本质上都是用 java 写的那个intellij idea 换皮。个人认为取那么多名称仅仅是为了卖授权更方便。

而这个 Fleet 目测会是用 Kotlin 完全重写。而原先的那些插件就会逐步的移植到新的架构。

众所周知,软件每一次重构其实都能大幅度减小资源开销,变得轻量。。。只不过功能减少了多少那就未可知了。大概会在其发展过程中慢慢的加上吧。

所以,轻量不是目的,只是重构的副产物。刚刚重构一个 IDE,那肯定是先实现基本功能,此时肯定会显得非常轻量。未来把所有功能加上之后,恐怕也轻量不了,虽然应该比现有的屎山效率更高。

VSC插件多装一些不也一样不够轻量么。

既然是一次大型重构,这次设计的整体架构肯定更合理,界面性能肯定更好,所以。。。期待未来 Android Studio 也会基于 Fleet 吧。其实 JB 自己想收费无可厚非,反正 Android 开发这部分永远是免费的,那就无所谓了。


补充:

VSC 这个怎么说呢,什么都能做,但什么都不是做得最好的。VSC 的最大贡献是 LSP,而 JB 这次的 Fleet 是打算直接用 LSP 的。也就意味着未来是在 LSP 的这个体系下添砖加瓦。

从协议上讲,既然你用 LSP 的东西,贡献的所有修改也都是需要回馈 LSP 的。那么我们可以认为 LSP 阵营即将迎来一位新的实力选手参与,这本身对 VSC 生态无疑是有利的。

所以,也许未来只有一个程序员编辑器,那就是 LSP,至于 VSC 还是 nvim 还是 Fleet ,那本质上只是 LSP 的不同前端罢了。

user avatar

我主要用jetbrains的rubymine、pycharm D版受害者版本。毫无疑问,jetbrains的IDE是地球上最好的。VSCODE感觉太简陋,一般我用sublime作为简单编辑的替代。sublime早期版本启动非常快,不卡,原生就是好啊。Fleet才推出,我觉得没必要用吧。因为全功能的IDE用着就是爽啊。如果我追求简洁,我用sublime不好吗?

我尝试中VSCODE用remote ssh远程编辑,结果后来服务器资源占用100%,我还以为中毒了呢?而且插件安装多了,VSCODE变得非常的丑陋和奇怪,无法接受。VSCODE的某些交互方式非常的ugly。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有