从零单排之 IDEA 插件开发,没你想的那么难!
2020-04-14 16:01:46来源:博客园 阅读 ()
从零单排之 IDEA 插件开发,没你想的那么难!
前些天发了一篇关于IDEA插件开发的文章:从 0 编写自己的第一款 IDEA 插件!感觉写的太过于简单,所以这篇是从实战的角度讲解IDEA插件开发的流程。
之所以叫从零单排,玩过或者看过别人玩英雄联盟的人应该都懂,通俗来讲就是一个人打怪升级的事情。
定位赛,顾名思义就是通过一系列的战斗了解你的水平,定位赛后会给你一个段位,这样你就能跟你水平差不多的人同场竞技了,而在IDEA插件开发的定位赛中,我会通过几个实际的例子演示一个插件的开发,通过几个实际的例子让玩家对于插件开发有个笼统的认识,实际例子完成后,我会从黑铁讲起,一点点的剖析IDEA插件的内涵,至于能不能升到最强王者那就看命运了。
啰嗦了这几句话,那就让我们开始我们的定位赛吧。
1、IDEA插件名词
首先我先介绍几个插件的名词,这样能够保证后边的语境不会出现理解偏差,这里我会进行类比,因为是插件是用java开发,而会java的人一定知道spring全家桶,所以我会拿spring里面的概念进行类比,当然这里不会列举所有,会先列举需要的部分。
1)Actions:这货就跟controller类似,简单一点来说,当用户点击idea的某个按钮你自己开发的菜单时就会调用的方法。所有的action都需要继承?com.intellij.openapi.actionSystem.AnAction?这个抽象类,实现actionPerformed方法即可,至于按钮在什么位置,则是有add-group相关参数进行配置,这个后边得连载中详细解释。
2)Services:这货就跟spring普通的类有点相似,他的定义分为两种,分别是应用级别和工程级别,通俗一点讲就是spring里面的普通的bean,当然应用级别代表单例的Bean,工程级别则是多例的Bean(这里不够贴切,可以先理解为单例,等后边的文章再细品)。
3)demo配置文件(完整代码地址:https://gitee.com/yuanzizhenxin/PluginDemo):
2、实例开始
接下来我会拿https://gitee.com/yuanzizhenxin/PluginDemo?这个工程作为实例,用刚介绍的东西讲解这个简单的实例,那么,让我们开始实战讲解吧。
1)功能介绍:弹窗当前时间,并理解application级别和project级别的service的区别。
2)代码下载及IDEA开发环境配置:
首先需要下载IDEA社区版本即可,下载gradle并配置好,使用git将项目https://gitee.com/yuanzizhenxin/PluginDemo?下载到本地,使用idea打开。
3)插件演示:
A、首先整个demo的入口是plugin.xml里面的
这里参数的具体含义我会单独的章节进行讲解,先知道这是入口action的配置,他的位置是在下图红框处。
B、idea打开工程,等gradle初始化完成后找到下图的按钮,并双击运行,这样就能够运行一个新的idea,这个就是沙箱里面的idea(可以理解为一个全新的idea)。关注微信公众号:Java技术栈,在后台回复:idea,可以获取我整理的 N 篇最新 IDEA 干货。
C、点击在A步骤说明的action的位置,点击ActionDemo,就能看到idea中间弹窗提示。
4)插件代码讲解:
这里action首先继承了AnAction类,并重写了actionPerformed方法,记住所有的插件action都是这样声明。
在action中获取service的方法则是ServiceManager.getService(XXXX.class);或者ServiceManager.getService(anActionEvent.getProject(), XXXX.class);
弹窗则是 Messages.showMessageDialog(“内容”, "标题", Messages.getInformationIcon());
综上看来,一个插件无非就这么几个东西,剩下的就交给阅读一下源码了,很简单,祝各位成功!!
作者:乱来梦游神
https://www.jianshu.com/p/c18d1eacdb42
推荐去我的博客阅读更多:
1.Java JVM、集合、多线程、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架构、阿里巴巴等大厂最新面试题
生活很美好,明天见~
原文链接:https://www.cnblogs.com/javastack/p/12696407.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- idea为代码添加标签清除标签 2020-06-11
- IDEA 设置热部署 Devtools 2020-06-10
- 2020最新IDEA插件大集合,一款能帮助你写代码的工具是多么重 2020-06-09
- 【Java-jxl插件】【Excel文件读写报错】jxl.read.biff.BiffE 2020-06-07
- IDEA下Maven的pom文件导入依赖出现Auto build completed wit 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash