likes
comments
collection
share

从零开始写一个IDEA插件(二)—— 环境准备

作者站长头像
站长
· 阅读数 53

开发环境

首先我们使用的IDEA版本是当前最新版本2023.2.1(Build #IU-232.9559.62),使用的JDK版本是20.0.2

从IDEA版本2022.2开始,已经开始依赖JAVA17了

新建Plugin项目

打开IDEA,File -> New -> Project,选择IDEA Plugin,开始创建一个插件项目:

从零开始写一个IDEA插件(二)—— 环境准备

注意:JDK版本必须选择17以上,否则无法创建项目

项目创建成功之后,我们会发现它默认创建的是一个kotlin项目,gradle的配置也是kotlin方式的配置,我们可以把它改回来:

  • src/main目录下新建一个java文件,再将kotlin目录删除
  • 复制一份build.gradle.kts,将它改名为build.gradle,里面的配置格式也修正一下,可以先删除一些不必要的配置

最终的目录结构如下:

从零开始写一个IDEA插件(二)—— 环境准备

build.gradle配置如下:


//必要插件,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,这里面包括一些插件的基础信息配置,以及我们后面需要配置的扩展点都需要通过它来进行:

<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,但是我们的项目中没有写任何代码,所以仅仅只是启动了一个简单的IDEA而已。

从零开始写一个IDEA插件(二)—— 环境准备

总结

这篇文章主要是准备我们的插件开发环境,进行了一些基础的配置,并且说明了每项配置的作用,并且可以正常将项目编译和运行,下篇文章就开始进行代码的开发了,我们会先开始我们的工具栏界面(也就是toolWindow)开发。

如果这些内容对你有一点小小的作用,赞和关注随便点点,谢谢!

转载自:https://juejin.cn/post/7271942371637182516
评论
请登录