前言
最近想接触idea插件开发相关的内容,但发现网上很多文章都比较过时了,并不适用于高版本的idea和jdk,踩了一些坑后,写一篇文章总结一下高版本idea开发插件的步骤吧。
开发环境介绍
- 软件版本:JetBrain IDEA 2023.01
- JDK版本:JDK17
需要注意的是,从IDEA2022.2开始,就要求用户必须要有Java17及以上的版本才可以进行插件的开发。如果你不清楚自己的idea做插件开发所要求的最低jdk版本,可以参考官网文档的介绍:IDEA版本和JDK版本的对应关系,需要注意的是,如果只是做普通开发的话,那么并没有对idea的版本要求,按实际项目来就行。
(一)创建一个IDEA插件项目
插件开发的方式有两种,一种是直接通过idea自带的插件项目模板来构建我们的插件项目,另外一种是自己搭建一个项目,自己配置相关的插件项目构建脚本。我们这里就选择用IDEA自带的模板即可。
步骤一:新建一个插件项目
根据菜单路径,打开新建项目的窗口,根据下图配置好项目的存放路径以及对应的jdk,这里我们选择用jdk17
开发idea插件
步骤二:打开我们的插件项目
我们可以看到,项目刚创建出来的时候,并没有我们熟悉的文件,这是因为idea已经默认采用来作为项目构建工具了,如果想要切换成maven来构建项目的话,按官网的说法也是可以的,但这里暂且不说。笔者大概看了一下,如果不涉及比较复杂的开发的话,项目中自带的构建脚本还是可以看得懂的。
文件介绍
这个文件可以理解为我们插件的数据文件,用于定义我们的插件名、开发人员、插件依赖以及插件包含的内容等信息,具体可以看下面的介绍
文件介绍
这个文件定义了IDEA插件构建时依赖的环境,以及最终支持在哪些环境下面运行插件。这个文件是相当重要的,一般来说我们这里会根据实际情况来对这个文件进行修改,不会直接用默认的配置。
这里有2个地方需要额外注意一下:
(1)gradle在构建项目的时候会根据我们定义的idea版本去下载对应的idea安装包,有一说一,安装包比较大,大概有600多M,而且下载速度相对比较慢,最好做一下心理准备。如果想要换新的IDEA版本调试的话,那么也需要重新下载新的安装包。
(2)在比较高的版本中,idea默认会使用语法来解析和这两个文件。不过笔者对不熟悉,所以我们会把配置切换为语法,降低一下学习成本。详见步骤三
步骤三:调整部署文件
(1)去掉的kts后缀,稍微改一下原有文件的内容。调整后的文件内容如下
(2)去掉文件的后缀
文件里面的内容不需要调整
(3)删除src目录下的目录,新建目录
最终得到的项目结构如下:
步骤四:创建我们的插件
(1)了解IDEA支持的插件类型
简单了解的话,大概可以分成是开发语言类插件(用于支持自己开发的语言,大佬专用)、框架插件(比如挺多人在用的)、第三方工具插件(比如翻译插件)、UI交互类插件以及UI插件(纯UI美化)。
我们可以通过访问idea官网地址来查看idea支持的插件类型:点此查看
(2)我们这里选择做一个简单的UI交互插件
想要实现的效果为,在中新增一个名为showProjectName的按钮,后展示当前项目的项目名称。
新建一个插件Action类
根据实际情况填写一下action 的详细信息,这里的name是插件的名称,实际上我这里是填的,截图的时候忘改了。
一般来说,加完之后上面也会同步生成action的信息。
写一下的具体代码,代码很简单,只是做一个dialog的信息展示而已
至此,插件的开发代码就完成了。至于插件的测试、构建和使用可以看下面的章节。
(二)插件的测试
插件代码写完后,我们可以从两个地方进行插件的调试。
入口一:菜单栏工具栏
如果是debug模式启动,我们还可以正常使用我们的断点功能。
入口二:主窗口左/右侧的gradle菜单栏
选择目录,里面有很多可执行的命令,我们选择使用runidea来启动项目
首次启动项目,会根据我们之前在文件中配置的idea版本去网上下载对应的安装包,可能耗时会有点久。下载成功后,会打开一个新的idea,打开后我们随便选择某个项目或者新建一个项目就行。
我们可以在打开的项目中,菜单,就可以看到我们自己定义的了
后正常弹出了内容为项目名的弹框
(三)插件的构建
当自己的插件测试好了之后,希望打包出来,可以通过来打包我们的插件
构建好后我们可以在目录下面找到我们的jar包,拿到后后续可以直接在idea上面进行离线安装
(四)插件校验
因为IDEA版本众多,如果你的插件希望可以被多个idea版本兼容的话,那么在你发布到你的团队或者发布到idea插件市场上时,建议先
走一次校验流程。这个校验流程会把所有版本的idea自动走一次你的插件(这里应该不是走全流程,只是校验是否能否正常编译运行而已)。当然了,由于这个版本会校验idea版本的兼容性,所以这里的耗时相对来说会比较长,因为要下载各个版本的idea去测试。
(五)其他的小拓展
如果说已经熟悉kotlin的使用,我们的插件也可以用kotlin来开发,相关的代码可以在我的码云上面找到。具体地址见下面的小结,第二个版本为kotlin语法开发的项目。
小结
至此,IDEA插件的开发就到此结束了。入门的插件开发并不难,有兴趣的话可以从官网或者其他开源的IDEA插件中翻翻代码,会有更多的收获。
本篇文章的代码已经上传至码云:https://gitee.com/moutory/idea-plugin-demo
参考文章:
IDEA插件开发官网文档 https://plugins.jetbrains.com/docs/intellij
《IntelliJ IDEA 插件开发》第一节:两种方式创建插件工程 http://www.360doc.com/content/21/1213/11/78097014_1008492774.shtml
基于IDEA2023.1.2使用Java语言开发IDEA插件的操作步骤 https://zhuanlan.zhihu.com/p/
今天的文章
开发idea插件分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/134395.html