自定义idea插件之hello idea plugin

写在前面

最近一直想研究下自定义idea插件的内容,这样如果是想要什么插件,但又一时找不到合适的,就可以自己来搞啦!这不终于有时间来研究下,但过程可谓是一波三折,再一次切身体验了下万事开头难。那么,为了能让有这方面需求的小伙伴,少走弯路,直通罗马,就考虑写一篇入门的文章,我们共同学习,共同进步!!!

1:环境准备

这里列举下我本地的开发环境,这样当你遇到问题时,可以从这方面来找下原因:

idea:
	2019-IntelliJ IDEA 2019.3.1 (Ultimate Edition),开始使用2021.1版本各种问题
gradle:
	5.2.1 另外注意给gradle配置jdk11,后面会讲到,开始我配置了8,不行,9也不行/(ㄒoㄒ)/~~
win10
jdk8:
	项目开发的话,就是用了jdk8

1.1:配置gradle

这里 下载5.2.1版本,解压到一个目录:
在这里插入图片描述
然后在init.d目录创建init.gradle,并写如下内容:

allprojects {
    repositories {
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
        maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
        mavenCentral()
    }
 
    buildscript { 
        repositories { 
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
            maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

然后配置环境变量:
在这里插入图片描述
配置idea:
在这里插入图片描述
注意4,一定要选择11,一定要选择11,一定要选择11。

2:hello idea plugin

这里我们实现这样的效果,在File下增加一个按钮,点击弹出个框,像这样:
在这里插入图片描述
首先创建项目:
在这里插入图片描述
在这里插入图片描述
录入项目信息就和普通项目一样了。接着finish,等待加载完毕,需要再来修改gradle的配置:
在这里插入图片描述
然后还需要修改build.gradle中的org.jetbrains.intellij版本为0.6.3:
在这里插入图片描述
接着reimport:
在这里插入图片描述
成功后:
在这里插入图片描述
jdea插件,按钮和定义以及响应的事件是通过action来实现的,所以我们需要来定义一个action:
在这里插入图片描述
接着录入相关内容:
在这里插入图片描述
此时会在plugin.xml中生成Action以及按钮相关的信息:
在这里插入图片描述
并生成action java类:
在这里插入图片描述
我们添加一行代码,弹出hello idea plugin:
在这里插入图片描述
接着点击,左上角的执行:
在这里插入图片描述
成功后,会打开一个新的idea,因为是测试插件使用的,所以是全新初始设置的idea,不会影响现有的:
在这里插入图片描述
接着就按照正常使用idea的操作来使用,就行了:
在这里插入图片描述
点击:
在这里插入图片描述

3:打包并加载插件到idea中使用

打jar包:
在这里插入图片描述
生成的jar包:
在这里插入图片描述
然后就可以通过磁盘安装的方式,安装插件到你的idea中了:
在这里插入图片描述在这里插入图片描述
再重启下idea就可以了:
在这里插入图片描述
在这里插入图片描述
因为还没有发布到市场,所以此时还不能通过市场搜索的方式来找到我们的插件。

写在后面

参考文章列表

开源镜像站

IDEA如何配置 Gradle(详细版)

IDEA 插件开发入门

Intelij开发idea插件从开发到发布的完整详细教程附带源码demo

IDEA插件开发

相关推荐

  1. Mybatis运行原理及定义

    2024-06-07 19:44:06       69 阅读
  2. vue3+ts定义

    2024-06-07 19:44:06       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 19:44:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 19:44:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 19:44:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 19:44:06       20 阅读

热门阅读

  1. Spark 之 HiveStrategies

    2024-06-07 19:44:06       9 阅读
  2. 设计模式之访问者模式

    2024-06-07 19:44:06       7 阅读
  3. Flask Web开发基础:数据库与ORM实战

    2024-06-07 19:44:06       10 阅读
  4. 视频拼接服务分享

    2024-06-07 19:44:06       9 阅读
  5. WPF学习笔记:给StackPanel加阴影

    2024-06-07 19:44:06       10 阅读
  6. 开发常用软件

    2024-06-07 19:44:06       9 阅读
  7. Python一般用什么IDE:深入剖析四大主流选择

    2024-06-07 19:44:06       9 阅读
  8. OpenCV 4.X 使用CvxText在图片显示汉字

    2024-06-07 19:44:06       8 阅读
  9. Less is more VS 精一 [生活感悟]

    2024-06-07 19:44:06       10 阅读