Development

IntelliJ Plugin Development

插件类型

基于 IntelliJ 平台的产品可以通过添加插件进行修改和定制。所有可下载的插件都可以在 JetBrains Marketplace 上找到。

最常见的插件类型包括:

  • 自定义语言支持
  • 框架集成
  • 工具集成
  • 用户界面附加组件
  • 主题 在某些情况下,实际上可能不需要实现一个 IntelliJ 平台插件,因为存在替代解决方案。

自定义语言支持

自定义语言支持为使用特定编程语言提供了基本功能,包括:

  • 文件类型识别
  • 词法分析
  • 语法高亮
  • 格式化
  • 代码洞察和代码补全
  • 检查和快速修复
  • 意图动作 插件还可以增强现有的(捆绑的)自定义语言,例如,通过提供额外的检查、意图或任何其他功能。 可以参考自定义语言支持教程以了解更多相关信息。

框架集成

框架集成包括改进的代码洞察特性,这些特性通常适用于给定的框架,以及直接从 IDE 使用框架特定功能的选项。有时它还包括对自定义语法或 DSL 的语言支持元素。

  • 特定代码洞察
  • 直接访问框架特定功能 可以参考 IntelliJ-HCL 作为框架集成的一个例子。更多参考插件可以在 JetBrains Marketplace 上找到。

工具集成

工具集成使得可以直接从 IDE 操作第三方工具和组件,无需切换上下文,这意味着:

  • 实现额外的动作
  • 相关的 UI 组件
  • 访问外部资源 可以参考 Gerrit 集成插件作为一个例子。

用户界面附加组件

这一类别的插件对 IDE 的标准用户界面应用了各种更改。一些新增加的组件是交互式的,提供了新功能,而其他一些则仅限于视觉修改。Foldable ProjectView 插件可以作为一个例子。

主题 主题使设计师能够自定义内置 IDE 用户界面元素的外观。


开发工具

Plugin DevKit

使用 IntelliJ IDEA 2023.3 或更高版本时,必须从 JetBrains Marketplace(插件主页)安装 Plugin DevKit 插件,因为它不再与 IDE 一起捆绑。

Plugin DevKit


创建项目

通过 文件 | 新建 | 项目... 操作启动新项目向导,并提供以下信息:

  1. 从左侧列表中选择 IDE 插件生成器类型。
  2. 指定项目名称和位置。
  3. 在项目类型中选择插件选项。
    • 仅在 IntelliJ IDEA 2023.1 之前的版本中: 选择插件将使用的实现语言。对于此示例,选择 Kotlin 选项。
    • 有关更多信息,请参见 Kotlin for Plugin Developers。 使用 IntelliJ IDEA 2023.1 或更新版本生成的项目,支持 KotlinJava 源代码。项目生成器会自动创建 $PLUGIN_DIR$/src/main/kotlin 源代码目录。要添加 Java 源代码,请创建 $PLUGIN_DIR$/src/main/java 目录。
  4. 填写 Group:
    • 通常是公司域名的倒置(例如 com.example.mycompany)
    • 它用于项目的 Gradle 构建脚本中的 Gradle 属性 project.group 值
  5. 填写 Artifact,这是构建项目工件的默认名称(不含版本)
    • 它还用于项目的 settings.gradle.kts 文件中的 Gradle 属性 rootProject.name 值
    • 通常它会被自动填充
  6. 选择 JDK 21:
    • 这个 JDK 将是运行 Gradle 的默认 JRE,以及用于编译插件源代码的 JDK 版本。
  7. 点击 Create 创建项目

Create Project

文件结构

demo_plugin
├── .run
│   └── Run IDE with Plugin.run.xml
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── src
│   └── main
│       ├── kotlin
│       └── resources
│           └── META-INF
│               ├── plugin.xml
│               └── pluginIcon.svg
├── .gitignore
├── build.gradle.kts
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts

Gradle

Reference URL

Gradle 官方网站

Previous
Homebrew
Next
Rust