News

介绍 Fleet 公共预览

Read this post in other languages:

自从最初宣布 Fleet 以来,我们得到了来自大家的极大兴趣,有超过 137,000 人报名参加私人预览。我们之所以从封闭式预览开始,是为了能够以渐进的方式处理反馈。我们要感谢每一个参加这次私人预览的人,我们也想向没有收到邀请的人致以歉意。幸运的是,您不再需要等待了。

Fleet 仍处于起步阶段,还有大量的工作要做。然而,今天我们宣布首次公共预览 Fleet,所有人都可以使用。我们向公众开放预览的原因有两个方面。首先,我们认为让所有注册者再等下去是不对的,但单独邀请这么多人对我们来说也缺乏意义。面向公众开放预览对我们来说更容易。第二,也是最重要的,我们一直是一家以开放态度打造产品的公司。我们不希望 Fleet 在这方面有任何不同。

不过,在您下载它之前,请继续阅读完这篇文章,因为有一些重要的事情您应该知道。

Fleet 是什么

对于那些之前可能没有听说过它的人来说,Fleet 是我们新的分布式多语言编辑器和 IDE。它是基于我们在后端的 IntelliJ 平台,采用了全新的用户界面和分布式架构,从头开始构建的。要了解更多详情,请查看 Fleet 产品页面

现在可以期待什么

由于我们计划支持的技术清单很长,我们准备了一个图表,显示 Fleet 目前提供支持的语言和技术,以及每个技术的状态。这应该能让您更好地了解接下来可以期待什么。

然而,我们想提醒您,Fleet 仍处于早期阶段,有些事情可能无法按预期工作,即使它们被列为受支持的。如果您确实遇到了问题,如果您能把它们记录下来,我们将非常感激。最简单的方法是通过 Fleet 的 Help 菜单中的 Send Feedback 选项。

还需要强调的是,我们并不打算取代我们现有的 IDE。因此,请不要期望在 Fleet 中看到与我们的 IDE(如 IntelliJ IDEA)完全相同的功能。尽管我们会继续开发 Fleet,我们 IDE 的所有功能也不会出现在其中。Fleet 是我们为开发者提供不同用户体验的一个机会。话虽如此,我们确实希望听到您认为 Fleet 还缺少什么功能的反馈,例如特定的重构选项、工具集成等。我们现有的 IDE 将继续发展。我们对其有很多计划,包括性能改进、新的用户界面、远程开发等等。最后,Fleet 还在底层采用了我们现有工具的智慧,所以这些工具都不会消失。

即将推出的内容

在未来几个月,我们将致力于稳定 Fleet,并尽可能地解决我们得到的反馈。同时,我们将在以下领域开展工作:

  • 为插件作者提供 API 支持和 SDK–鉴于 Fleet 有一个分布式架构,我们需要努力为插件作者简化工作。 虽然我们保证会为扩展 Fleet 提供一个平台,但也请求大家在这方面多一点耐心。 
  • 性能 – 我们希望 Fleet 不仅在内存占用方面,而且在响应时间方面都能表现出色。 有很多地方我们仍然可以提高性能,我们将在这些方面努力。 
  • 主题和键盘映射 – 我们知道许多开发者已经习惯了他们现有的编辑器和 IDE,当他们转移到新的 IDE 时,往往会想念他们以前的键盘绑定和主题。 我们将致力于增加对更多主题和键盘映射的支持。 我们当然也会致力于 Vim 的模拟。

开始使用 Fleet

要下载 Fleet,您需要使用 JetBrains Toolbox App

我们也正在准备一系列短视频以帮助您开始使用,请记得订阅我们的频道(Bilibili/YouTube)。无论您使用哪种技术,体验都是近似的,但我们还是根据语言将教程分成了不同的视频。另外,如果您遇到任何问题,请务必查看 Fleet 的文档

我们仍处于与 Fleet 漫长旅程的开始阶段。我们希望您能加入我们,这将会是一场伟大的冒险 ! 

本博文英文原作者:

Sue

Hadi Hariri

Discover more

Fleet 后台探秘,第五部分 – 代码补全的故事

在本系列博文中,我们将以多个部分为您介绍构建 Fleet 这款由 JetBrains 打造的下一代 IDE。 第一部分 – 架构概述第二部分 – 编辑器详解第三部分 – 状态管理第四部分 – 分布式事务第五部分 – 代码补全的故事 在本系列的第三部分和第四部分中,我们探讨了状态管理中涉及的复杂抽象架构概念,以及它们如何在 Fleet 的分布式组件之间进行同步。接下来,我们将研究更熟悉的代码补全功能,看一看它是如何在 Fleet 中实现的。 Fleet 在代码补全领域并不是一项巨大突破,但其架构和分布式特性在各处都留有印记。想象一下:一个典型 Fleet 用户,有幸(或不幸)使用多种编程语言。这类软件开发者会在 Go 和 JavaScript 上苦苦挣扎,更喜欢 Kotlin 和 Rust,还要在文本文件中记笔记。有没有哪种代码补全解决方案能够涵盖所有情况呢?我们来找出答案。 最终用户看到的代码补全 我们先来做一些文本记录。看一看到目前为止的代码补全: 这种行为内置于 Fleet 的编辑器中:它会分析文档,考虑哪些单词是代码补全的良好候选。听起来还算合理,虽然您可能以为是机器学习在根据您先前记下的其他笔记来施展魔法。 接下来,我们转向 Kotlin 编程。 这种补全行为并没有什么特别突出的地方。基本上就是文本记录中的相同

Fleet 后台探秘,第三部分 — 状态管理

在本系列博文中,我们将以多个部分为您介绍构建 Fleet 这款由 JetBrains 打造的下一代 IDE。 第一部分 – 架构概述第二部分 – 编辑器详解第三部分 – 状态管理 在本系列的前几部分中,我们介绍了 Fleet 的总体架构,并探讨了编辑器后台用到的算法和数据结构。 在这一部分中,我们将介绍实现状态管理的方式。 这是一个复杂的主题,因此我们特别准备了多篇博文。 本篇的重点是应用程序状态元素的表示和存储, 下一部分将更细致地探讨 Fleet 中围绕状态管理的事务机制。 Fleet 有很多移动部件,也执行着许多不同的操作,包括: 呈现 UI 元素并与用户互动。与其他服务交互以获取数据和更新 UI 元素。处理文件,例如保存、加载、解析文件以及显示其差异。编排处理代码洞察、补全和搜索结果的后端。 许多操作较为复杂,可能会降低界面的响应能力。 同时,由于 Fleet 是分布式应用程序,可能有多个分布在网络上的前端,使整个过程更加复杂。 尽管如此,我们还是必须持续为用户正确显示所有信息,确保用户可以在前端之间稳定地工作。 在状态管理上,操作分为读取状态和更新状态。 UI 元素读取状态后向用户提供实际数据,用户则通过编辑文档和移动内容来更新状态。 这

Fleet 后台探秘,第二部分 – 编辑器详解

在本系列博文中,我们将以多个部分为您介绍构建 Fleet 这款由 JetBrains 打造的下一代 IDE。 第一部分 – 架构概述第二部分 – 编辑器详解 在本系列的第一部分中,我们概括介绍了 Fleet 架构。 在此第二部分中,我们将介绍编辑器幕后使用的算法和数据结构。 数据结构的聚合 请查看以下屏幕截图,其中展示了 Fleet 中的编辑器窗口 图中包含一行带有语法高亮显示的文本,以及一个提供特定变量用法相关信息的微件。 现在,人们可以通过多种方式显示这些信息,但编辑器方面的问题是它们并非只读。 除了数据可视化以外,数据还可以更新。 诸如更改函数名称这样简单的操作就可能会造成许多影响,例如影响语法突出显示、用法,当然还包括提供的任何其他功能,例如静态分析或实时编译。 为能提供良好的体验,我们需要确保编辑文本和随之呈现的可视化可以尽可能无缝衔接。 为了实现这一点,我们必须以有效的方式存储和处理数据。 然而,存储数据的方式并非只有一种。 事实上,上图就以多种方式存储数据,它们使用各自不同的数据结构,这些数据结构共同构成了我们所说的编辑器。 换言之,可以将编辑器视为数据结构的聚合器! 我们来详细介绍! 绳索全线贯通 对于熟悉处理大量文本的人来说