开发环境
上篇文章从零开始写一个IDEA插件(一)------ 前言我们讲了我们要做一个怎么样的插件,这里我们就正常开始进入插件的开发阶段,首先主要准备我们插件开发的基本环境,了解一些基本的配置,并且可以让我们的项目正常的编译和运行起来。
首先我们使用的IDEA版本是当前最新版本2023.2.1(Build #IU-232.9559.62)
,使用的JDK版本是20.0.2
从IDEA版本2022.2开始,已经开始依赖JAVA17了
新建Plugin项目
打开IDEA,File -> New -> Project,选择IDEA Plugin
,开始创建一个插件项目:
注意:JDK版本必须选择17以上,否则无法创建项目
项目创建成功之后,我们会发现它默认创建的是一个kotlin项目,gradle的配置也是kotlin方式的配置,我们可以把它改回来:
- 在
src/main
目录下新建一个java文件,再将kotlin
目录删除 - 复制一份
build.gradle.kts
,将它改名为build.gradle
,里面的配置格式也修正一下,可以先删除一些不必要的配置
最终的目录结构如下:
build.gradle
配置如下:
json
//必要插件,java 和 intellij
plugins {
id "java"
id "org.jetbrains.intellij" version "1.15.0"
}
group "com.dadada.plugin"
version "1.0-SNAPSHOT"
//指定仓库
repositories {
mavenCentral()
}
intellij {
//version属性是一定要指定的,这个属性主要用来指定构建插件时使用的IDEA版本,如果太低,那么你在插件使用了一些版本才有的特性,就会构建失败,反之一样。
version = "2022.2.5"
//依赖的IDEA的具体发行版本,可以不用指定,默认就是IC,即社区版本(IntelliJ IDEA Community Edition)
type = "IC"
//localPath可以指定你本地的IDEA版本作为依赖,这样就不用下载了, 这个和version不能同时存在
//localPath = ""
}
tasks {
//这里的参数会在构建时, 替换掉plugin.xml中对应的属性
patchPluginXml {
sinceBuild = "222"
untilBuild = "232.*"
}
}
里面比较重要的是plugins
的配置,以及intellij
模块的配置,正常来说,如果我们是配置的version,那么在构建项目时会比较慢,因为它需要去下载对应版本的IDEA用于构建项目。如果一下无法下载下来,我们可以选择不指定version
,而是使用localPath
指定本地的IDEA目录来用于项目的构建。
patchPluginXml
可以在编译时替换掉我们plugin.xml
中的配置,这样就可以不用去改对应的配置了。
plugin.xml配置
项目中还有一个比较重要的配置是resources/META-INF/plugin.xml
,这里面包括一些插件的基础信息配置,以及我们后面需要配置的扩展点都需要通过它来进行:
xml
<idea-plugin>
<!-- 插件的唯一标识,整个插件市场唯一,发布后就不能改了 -->
<id>com.dadada.plugin.http-plugin</id>
<!-- 插件名称 -->
<name>HttpRunner</name>
<!-- 插件作者信息 -->
<vendor email="dadada@yourcompany.com" url="https://www.dadada.com">哒哒哒打代码</vendor>
<!-- 插件的描述,在插件发布后会在插件首页显示 -->
<description><![CDATA[
<p>这是一个HTTP插件,可以解析SpringMVC接口并且自动生成参数,支持本地调用</p>
]]></description>
<!-- 插件的依赖配置, 任何插件都应该配置platform, 才可以使用一些基本的功能 -->
<depends>com.intellij.modules.platform</depends>
<!--插件扩展点配置, 后面我们的一些扩展会在这里配置 -->
<extensions defaultExtensionNs="com.intellij">
<!-- 插件的兼容版本,这里使用的是build number -->
<idea-version since-build="203" until-build="232.*"/>
</extensions>
</idea-plugin>
id
是这个插件的唯一标识,发布后就没办法更改了,而且如果和现有的插件市场中的id有冲突的话也是没办法发布的。- 插件描述中可以使用
html
代码来进行美化。 com.intellij.modules.platform
这个依赖是一定需要配置的,我们需要用到的一些很基础的功能,比如消息、主题、UI、Action等等,都依赖于它。extensions
主要用于配置一些扩展点,比如一些service
、通知
、配置
等等。idea-version
指定的是我们插件的兼容版本,注意这里使用的是build number
,而不是它的发行版本号,具体对应关系可以看IntelliJ Platform Based Products of Recent IDE Versions
这样一个最基础的插件项目就准备好了,这时候我们右上角选择Run Plugin
然后运行,应该是可以正常编译并且启动了一个新的IDEA
,但是我们的项目中没有写任何代码,所以仅仅只是启动了一个简单的IDEA而已。
总结
这篇文章主要是准备我们的插件开发环境,进行了一些基础的配置,并且说明了每项配置的作用,并且可以正常将项目编译和运行,下篇文章就开始进行代码的开发了,我们会先开始我们的工具栏界面(也就是toolWindow
)开发。
如果这些内容对你有一点小小的作用,赞和关注随便点点,谢谢!