IDEA插件开发说明
插件项目新建
新建一个插件项目
1、在 "FILE->NEW->PROJECT" "New Project"(新建项目)对话框中,选择 "IDE Plugin"(IntelliJ 平台插件)项目类型。
2、请按需选择Type,这里我们的Devops4git插件是基于Theme,用于当前主题扩展。
3、在 "JDK" 下拉列表中,选择你将用于开发插件的 JDK 版本。建议使用与 IntelliJ IDEA 相同的 JDK 版本。
4、补充其他基本信息,点击 "create" 按钮完成插件项目的创建。
插件的扩展开发
扩展DevOps4Git插件项目
在Devops源码中包含名为devops-ide-idea的插件项目,目的是提供Settings中对DevOps平台的连接配置,在Git提交模块提供选择DevOps任务项功能。
1、idea插件项目导入
通过open选择插件项目
2、project structure
sdk选择编译器本身
language推荐选对应编译器Jdk
3、启动插件
run/debug configurations
plugin
jre选编译器本身
4、运行效果
settings首选项中能看到devops,项目运行成功。
下文将以该项目为例,介绍如何基础的插件开发流程。
plugin.xml文件说明
plugin.xml 文件的一些主要元素和用途:
工具栏扩展流程说明
以DevOps4Git插件为例,我们想要实现左侧工具栏能展示devops项目的工作项列表。
1、我们需要在plugin.xml文件内 <extensions> 标签中添加 <toolWindow> 标签用于扩展IntelliJ IDEA的工具窗口
toolWindow标签属性说明如下
示例代码如下
2、新建一个实现了ToolWindowFactory的工厂类放入上文factoryClass中,其中WorkitemToolWindows是需要展示的窗口内容
示例代码如下
3、进行WorkitemToolWindow界面设计
对目标文件夹右键 "New->Swing Ui Designer->GUI Form"建立一个 Swing 窗体。
对于生成的WorkitemToolWindow.form文件可以使用Swing UI Designer 的可视化编辑器来设计和布局窗体,在WorkitemToolWindow.java文件中实现交互。
4、WorkitemToolWindow界面功能实现
在WorkitemToolWindow.java文件我们可以完成对绘制界面的数据处理已经按钮响应。
以WorkitemToolWindow.java文件为例介绍实现流程,代码如下
5、完成了上述实现后,运行项目,我们即可在左侧工具栏可以找到工作项列表视图按钮,点击刷新项目可以刷新项目和工作项列表。若工作项视图已关闭,点击[View-Tool Windows-Workitems],以此打开工作项视图,默认位于左侧工具栏,可以自由拖拽。
工作项列表效果如下。
按钮扩展流程说明
上文我们在工具栏添加了一个自定义的工具窗口,当我们想在其他位置,如主菜单栏新增一个自定义按钮,点击可以弹出响应窗口,可以参考如下流程。
1、在插件项目中创建一个新的 Java 类,并让它继承自 AnAction 类。例如,可以创建一个名为 MyAction 的类。
在 actionPerformed 方法中编写你的动作逻辑。这个方法会在用户执行该动作时被调用。
2、在插件的 plugin.xml 文件中注册你的 AnAction。在 <actions> 元素下添加一个新的 <group> 元素,并在其中添加一个 <add-to-group> 元素,将你的动作添加到合适的菜单或工具栏中。如下我们首先在主菜单加了个 "Sample Menu" 组,里面存放了我们的操作。
效果如下:
如果想在特定已知group-id的位置,额外添加按钮,也可以参考如下实现
插件打包导出
导出开发完成的插件项目
对于开发完成的项目,我们可以选中后点击 "Build->Prepare Plugin Module '项目名' For Deployment",将项目导出成Jar包
Jar包位于项目根目录下同名Jar包
导入参考本文档 DevOps IDE扩展插件 -> Idea扩展插件 插件安装部分。
插件版本兼容
上述代码是基于IntelliJ IDEA Community Edition IC-232.9921.47(JetBrains Runtime version 17.0.8)版本开发
想兼容其他版本编译器时,推荐在对应编译器打开该插件工程,sdk选择对应的编译器版本,更新对应异常的部分,然后导出即可得到兼容对应版本插件jar。