Ohhnews

分类导航

$ cd ..
Jetbrains Blog原文

IDE插件生成器——新的开始

#jetbrains#intellij idea#插件生成器#plugin devkit#开发工具

当 IntelliJ IDEA 2026.1 发布时,创建新的 IntelliJ Platform 插件变得更加简单。它用基于 Web API 的新版 IDE 插件生成器取代了旧的 IDE 插件生成器和 IntelliJ Platform Plugin Template,新生成器结合了前两种方案的优点。新的 IDE 插件生成器旨在降低维护开销,并为所有插件开发者提供更流畅、更一致的体验。本篇博文将解释变更背后的原因,并介绍我们未来计划的一些背景。

生成器出现之前的插件创建方式

在新生成器出现之前,创建 IntelliJ Platform 插件有两种推荐方式:

  1. IDE 插件生成器——在 IDE 中离线工作
  2. GitHub 上的 IntelliJ Platform Plugin Template

IDE 插件生成器

IDE 插件生成器在 IntelliJ IDEA 2025.3 及更早版本中,安装 Plugin DevKit 插件后即可使用。你只需转到 File | New | Project...,在 New Project 对话框的 Generators 部分选择 IDE Plugin 项。后续向导步骤允许你选择插件类型(常规插件或主题),如果选择了 Plugin 类型,还可以添加额外依赖,例如 LSP、数据库工具和 SQL,以及语言插件。

IntelliJ Platform Plugin Template

GitHub 模板方式允许你创建预配置了常见用例 GitHub Workflows 的插件。它还包括 Issue 模板和 Dependabot 配置。

之前方案面临的挑战

同时支持两种插件创建方式使得维护成本翻倍。每次平台发布或默认插件设置变更时,我们都需要在两个地方更新模板。

IDE 插件生成器是 Plugin DevKit 插件的一部分,任何对生成器的更改都需要发布新版本的插件。即使我们快速更新并发布,用户也不一定会立即更新。他们有时会继续使用旧版 IDE 和 Plugin DevKit,而不会获取最新的模板版本。

此外,这两种方式在功能上也有所不同。例如,IDE 插件生成器提供了选择额外依赖的途径,而 GitHub 模板则没有。另一方面,模板提供了 GitHub 集成,而 IDE 插件生成器却没有。

最后但同样重要的是,开发者对于为何存在两个插件创建入口感到困惑。这可能导致他们花费不必要的时间去了解两种方式的差异,并决定为自己的项目选择哪一种。

我们通过统一的插件创建入口点解决了这些问题。

新的 IDE 插件生成器

流行的框架会提供用于项目生成的 Web API,例如 Spring InitializrQuarkus 项目生成器。它们允许你从浏览器生成项目,也可以直接从 JetBrains IDE 中生成,IDE 使用这些 API 来创建项目。

我们为插件创建实现了类似的方法,即 IntelliJ Platform Plugin Generator

主要优势

新的 IDE 插件生成器带来了以下优势:

  • 一致性: 模板维护在单一位置,使得从中创建的插件保持一致。
  • 模板及时更新: IDE 用户无需更新 Plugin DevKit 插件即可直接从 API 获取更新的模板。
  • 统一的工作流: 单一的入口点简化了插件创建过程。

新生成器结合了两种旧方式的优点,堪称两全其美:

功能旧版 IDE 插件生成器IntelliJ Platform Plugin Template新版 IDE 插件生成器
IDE 访问
浏览器访问
插件依赖选择
GitHub 集成

新生成器可通过两个客户端访问:

  1. IntelliJ IDEA 2026.1 及更高版本(需要安装 Plugin DevKit 插件)。
  2. Web UI:https://plugins.jetbrains.com/generator

IDE 客户端

IDE 客户端位于相同位置,与之前的独立版本几乎相同。在新版本中,当你打开 IDE Plugin 生成器时,会在第一页看到细微的 UI 变化: [LOADING...]

Server URL 字段包含用于生成插件的 API 的 URL。点击它会在默认系统浏览器中打开 Web UI 页面。

第二页与之前的生成器非常相似: [LOADING...]

除了之前可用的依赖项外,它还包含:

  • Architecture 组下的 Split Mode (Remote Dev) 功能。选中它将生成一个为远程开发场景准备好的插件。更多信息请参见 SDK 文档中的 Split Mode (Remote Development) 部分。
  • Version Control 组下的 GitHub 功能。它包括工作流、Issue 模板和 Dependabot 配置,这些在 IntelliJ Platform GitHub Template 中都有提供。关于如何将创建的项目连接到 GitHub 仓库的信息,在生成的 README.md 文件中有描述。

Web UI

Web UI 允许你在 IDE 之外生成和下载插件。它提供与 IDE 客户端相同的功能,并且拥有简洁的 UI: [LOADING...]

在页眉中选择插件类型:插件或主题。然后,选择你想要包含在生成项目中的功能。Preview 区域允许你浏览项目文件,这有助于你了解所选功能如何影响输出。提供所有必要信息并选择好选项后,点击 Download 按钮即可生成并下载插件项目。现在你可以在 IDE 中打开它。

未来计划

我们计划继续扩展 IDE 插件生成器,逐步引入新功能,例如 UI 集成测试Qodana 配置,用于在本地或 CI/CD 服务器上报告插件问题。

请尝试使用 新生成器,并在评论区或 JetBrains Platform 论坛上告诉我们你的想法。你希望添加哪些缺失的功能?