一时兴起,自己动手开发了个IDEA插件!

今天无聊带你们撩一下IDEA插件

前言

最近工作比较闲,自己琢磨点东西,一时兴起想自己做个IDEA插件玩玩,说不定还能卖钱,哈哈。

版本工具说明

  • JDK1.8

  • IDEA2020.1

  • 插件项目基于gradle构建。

  • 知识背景:swing

达到什么目标?

本实例实现一个Idea的插件,弹出一个表单Dialog,然后点击按钮,获取表单里输入的内容,然后将内容打印在表单的上方。

成品图展示:

项目初始化

新建一个gradle项目,修改其build.gradle文件:

plugins {
    id 'java'
    id 'org.jetbrains.intellij' version '0.4.14' //引入intellij的gradle插件
}
 
group 'org.example'
version '1.0' //定义jar包/zip包的版本号
 
sourceCompatibility = 1.8 //限制jdk的使用版本号,这里限制到8,表示生成的idea插件只能运行在jdk8以上的环境中
 
repositories {
    mavenCentral() //远程仓库
}
 
dependencies {
    //这里引别的依赖包
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
 
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
    // 这里是指打插件包的时候用idea什么版本的依赖包打
    // 比如这里用2019.3打包,如果你的插件实现源码里用了2019.3不存在的依赖包或类,就会报错
    // 一般就填当前IDEA的版本号即可
    version "2019.3"
}
 
patchPluginXml {
 
    //changeNotes里的内容展示位置参考图14
    changeNotes """
      1.0版本.

      第1.0版本:初始化这个测试插件项目"""
 
    // 这个意思是说当前定义的这个插件最早支持到什么版本的IDEA
    // 这里配置sinceBuild=191,表示插件只能被版本号大于等于2019.1版本的IDEA安装,低于这个版本的将抛无法兼容的错误
    // ↑上方参考这篇问答:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003338799-Build-compatible-plugin
    sinceBuild "191"
}

然后Idea的右边栏gradle将会多出intellij选项:

这里说下runIde,它用来调试插件,运行它会再次启动一个Idea,这个Idea会自动安装上你当前定义的插件包,让你用来调试。

新增plugin.xml

这个文件非常重要,它可以指定你定义的插件出现在IDEA的哪个位置,可以指定具体的处理逻辑,还可以定义插件名称、子名称等等。

这个文件位于MATE-INF下:

配置内容为:

<idea-plugin>
    <!--插件的id,注意不要跟其他插件重复,这个id全局唯一,尽可能复杂些-->
    <id>plugin.test</id>
    <!--插件的名称-->
    <name>PluginTest</name>
    <vendor email="xxxx@qq.com" url="http://www.bilibili.com">你公司的名字</vendor>

    <!--插件的描述信息,支持html,展示的位置参考图14-->
    <description><![CDATA[
    Plugin Test<br>
    第一行:单纯只是个测试<br>
    第二行:都说了只是个测试(● ̄(エ) ̄●)<br>
    <a href='https://www.bilibili.com'>你猜猜这是哪个网站?</a>
    <em>v1.0</em>
    ]]></description>
    
    &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值