前言
还记着10多年前有幸接触了eclipse插件开发,10多年后的今天有开发了idea的插件,真是一个轮回!
为什么要学习idea插件开发呢? 目前公司使用自己的MVC框架,没有相应的idea插件支持(如类似mybatis插件可以完成xml和调用dao的方法来回跳转的功能),所以工作之余,想开发一个插件,适配公司的MVC框架,提高点开发效率。
环境
idea: IntelliJ IDEA 2024.2.2 (Community Edition)
jdk:17
Plugin Devkit 242.22855.74
搭建过程
1 下载idea
https://www.jetbrains.com/zh-cn/idea/download/?section=windows 往下滑
安装即可。开源免费的。
2 安装idea 插件
目前版本的idea想完成插件开发,需要安装相应的开发插件。Plugin Devkit 。
3 新建工程
注意:需要选择jdk 17及以上。如果没有,直接使用idea安装一个17即可。
4 主要的配置文件
(1)build.gradle.kts
gradle的配置文件,类似于maven的pom文件。kts尾缀,表明有kotlin语言。
注意:
这个文件中的plugins和idea的插件没有关系,是gradle中的插件体系。红框中的org.jetbrains.intellij是idea为gradle写的扩展程序。官方文档 Gradle IntelliJ Plugin (1.x) | IntelliJ Platform Plugin SDK 。
可以看到,idea有两个版本的gradle扩展插件,目前项目用的是1.x版本。
(2)plugin.xml
idea的插件配置文件,如插件的信息,插件的依赖关系,扩展点等等配置。具体配置可在网上搜索一下。
5 主要的坑(或者说找了好久才知道的配置)
1) 添加java的支持。默认创建的插件项目,没有依赖idea中的java插件(就是不能调用java的相关功能,例如,不能找到PsiJavaFile这个类)。
需要首先在build.gradle.kts配置
然后再在plugin.xml配置
然后再刷新gradle配置即可。
2)找不到PackageChooserDialog这个类。这个类是一个对话框,可以选择java的包路径。
需要在plugin.xml配置中添加配置
3)如何在插件中使用第三方的jar包。如freemarker。
在build.gradle.kts配置
参考文档
官方文档 IntelliJ Platform SDK | IntelliJ Platform Plugin SDK