JetBrains 发布轻量级编辑器 Fleet

11 月 29 日,著名软件开发公司 JetBrains 在其官网博客宣布,推出全新的轻量级编辑器 Fleet,并称其为更轻量的“下一代 IDE”。

JetBrains 在其博客中表示,“对于那些有时只想要一个编辑器但又想要一个成熟 IDE 的人来说,Fleet 是一种不同的体验,在分布式开发方面,我们现有的一些 IDE 可能无法满足这些场景”。“我们预计当前基于 IntelliJ 的产品线和 Fleet 将共存一段时间,为我们的客户留下选择余地。

下一代 IDE?

Fleet 配备了单独执行的 IntelliJ 代码处理引擎,以快速、轻量级的代码编辑器为中心,可立即启动。

除了使用 LanguageServer 的项目和上下文感知代码完成之外,它继承了诸如定义和使用位置导航、代码质量检查和基于 IntelliJ 的 IDE 的快速修复等功能。它还具有终端功能,Git 支持,主题支持,Maven 和 Gradle 的 Java 执行和调试支持(未来支持其他语言),功能扩展插件功能(即将推出)等等。

除了 Java、Kotlin、Python、Go、JavaScript、Rust、TypeScript 和 JSON,未来还将支持 PHP、C++、C# 和 HTML。

您不仅可以与其他用户共享编辑器屏幕,还可以默认进行协作,例如共享终端和调试会话、运行代码审查和调查代码。

分布式架构

Fleet 采用分布式架构,旨在简化独立实例的使用,同时支持以下场景:

  • 协作开发 -- 多个客户在同一个开发环境中工作并相互交流。
  • 远程/云 IDE -- 托管在其他地方的开发环境,例如远程机器、集群或云。
  • 多目标文件系统--开发和运行一个涉及多台机器或容器的项目。例如,一个基于微服务的应用程序。

通过分离处理特定任务的组件,例如使用文件系统和提供代码智能。这种关注点分离使 Fleet 与 IntelliJ IDEA 等经典 IDE 不同,另一方面,如果需要集成,Fleet 也可以与现有解决方案兼容。

Fleet 的架构主要由以下组件组成:

  • 前端 -- 提供 UI,解析文件,并为支持的文件类型提供有限的高亮显示。可以有多个前端连接到一个工作区,允许协作开发。
  • 工作区 -- 主要目的是在有多个前端时维护前端共享状态的组件。注册其他组件以提供有关可用服务和 API 的信息。
  • 后端 -- 无头服务,可以完成繁重的工作:索引、静态分析、高级搜索、导航等。每个这样的操作都是由来自工作区的请求发起的,然后工作区处理响应并将数据分配给需要它的组件。需要注意的是后端可能有不同的要求,例如,预言服务器需要运行在同一台机器上,即源代码所在的地方,如上图所示。
  • FSD(Fleet System Daemon) -- 一个 Fleet 代理,通常连接到源代码和 SDK 所在的系统。它用于代表 Fleet 在目标环境中建立项目、运行代码、执行终端命令以及其他操作。

提供远程开发

JetBrains 在新发布的各个版本 IDE 中添加了远程开发支持。现在你可以在远程服务器上托管源代码、工具链和 IDE 后端,并使用基于 IntelliJ 平台的本地客户端编写、导航、重构、运行、调试和测试项目,体验与本地一致。

整个流程由 JetBrains Gateway 管理,这是一款全新的紧凑型独立应用,可满足启动远程开发的所有需求。 Gateway 同时作为插件与许多 JetBrains IDE 捆绑在一起。

JetBrains Client 在本地运行,并为 IDE 后端提供用户界面。 它以 IntelliJ 平台为基础,使用起来与完整的基于 IntelliJ 的 IDE 别无二致:具有与本地 IDE 相同的编辑器、代码补全、导航、检查和重构工具,但所有文件均远程托管,所有语言处理都在远程服务器上完成。

JetBrains Space 云开发环境

JetBrains 近期还推出了 JetBrains Space 统一平台,为远程开发环境提供出色的编排支持。Space 支持为项目中的任意仓库创建开发环境。

你可以选择要启动的计算机技术参数,还可以提供 Dockerfile 来创建镜像。也可以使用 Space Automation 预先准备开发环境、下载依赖项、构建项目和运行索引。预构建的快照将被保存,供团队启动、复制和共享。

Space 会在需要时启动开发环境,只启动快照即可在分支之间交换。完成任务后,将其删除即可。如果执行任务期间需要停止工作,Space 会在 30 分钟不活动后自动休眠工作区。

Visual Studio Code 作为轻量级编辑器的一哥,Fleet 的出现势必要掀起一波竞争。目前 Visual Studio Code 有着开源免费、生态丰富、轻量、资源占用低等优势,Fleet 则背靠 JetBrains,相信建立生态并不难,新的架构与远程加成看起来也不错,不过遗憾的是目前的收费模式还不明朗。

JetBrains 已放出 Fleet 预览链接,感兴趣的可以通过以下地址申请测试。

申请地址:https://www.jetbrains.com/fleet/preview/

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/ya309qvJ8EktLQhggExN
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券