前言
开发代码生成器到现在,取得了一些关注,我感到十分荣幸,最近有不少朋友反应说代码生成器如果能安装到idea中就好了,那样用起来将会十分方便,既然这样,只有满足各位!
之前没有开发过idea插件,所以今天找了个demo看了一下,发现跟安卓很像,因为之前有过一点安卓开发的经验,所以很快便完成了,让我们一起看一下吧!顺便讲一下开发idea插件相关的入门知识,因为我发现这类的教程实在是少的可怜。
idea插件开发入门
就拿代码生成器插件开发举例,首先需要建立一个插件项目:
如上图,点击next,然后finish,一个最简易的插件项目就搭建出来了。
项目目录如下所示:
plugins主要是对插件的方法,容器的定义,内容如下所示:
xml配置的参数在代码中都能找到对应关系,往下看就会一目了然。
接下来进行代码编写,在src下创建这两个类:
MyComponent作为程序运行的容器使用,MainRun作为程序入口
MyComponent代码如下:
package com;import com.intellij.openapi.components.ApplicationComponent;import runCodeMan.RuncodeWin;public class MyComponent implements ApplicationComponent { public MyComponent(){} public void initComponent() { // TODO: insert component initialization logic here } public void disposeComponent() { // TODO: insert component disposal logic here } public void run() { RuncodeWin.main(new String[]{}); }}
RuncodeWin是代码生成器的运行类,这个被我直接打成了jar包引入了项目中(引入外部jar包的方式跟普通项目相同):
MainRun代码如下:
package com;import com.intellij.openapi.actionSystem.AnAction;import com.intellij.openapi.actionSystem.AnActionEvent;import com.intellij.openapi.application.Application;import com.intellij.openapi.application.ApplicationManager;public class MainRun extends AnAction { @Override public void actionPerformed(AnActionEvent e) { Application application = ApplicationManager.getApplication(); MyComponent myComponent = application.getComponent(MyComponent.class); //运行生成器 myComponent.run(); }}
代码就这些,是不是很简单!看到这里,再去对比上面的xml文件,你就会发现其中的规律,不再赘述啦!
接下里进行最后一步,打包成idea插件,只需要点击build下面的打包选项即可:
打包完成后,会自动生成到src目录下,出乎意料的小,只有3.5M:
安装codeManPlugins
插件打包完毕,接下来对插件进行安装,安装方法同样简单,操作如下:
选择codeManPlugins.zip,点击ok,重启idea即可在windows菜单下使用:
点击,成功运行!
至此,代码生成器的idea插件开发就完成了。如果有朋友还在使用eclipse,请尝试一下idea,可以把idea调成跟eclipse的色调一致,那样你便会很快适应,然后爱上它!我当初就是这么干的,还是很香的哟。
插件获取方式
码云链接(如果没有码云账号需要注册才能获取):windows版获取:https://gitee.com/zrxjava/codeMan/blob/master/ideaPlugins/windows/codeManPlugins.zipmac版获取:https://gitee.com/zrxjava/codeMan/blob/master/ideaPlugins/mac/codeManPlugins.zip个人服务器获取链接:http://www.zrxlh.top:8088/coreCode/ideaPlugins/
未来展望
未来代码生成器还会不间断推出新的功能,比如更多数据库的支持,第三方组件的支持,常用工具类的支持,全新的主题和框架支持等等。
号主公司最近大大小小的事情很多,但我还是尽量抽出时间来更新代码生成器的功能,前阵子有不少人通过微信加我咨询问题,当我看到的时候,朋友验证大多已经过期了,因为实在是太忙了,还望体谅,在此说声抱歉。
虽然我们大多数人都是普通,平凡的,但能在自己的圈子里发出点光热,也算人生一大幸事,有了想法,就大胆去尝试,相信我,你会受益良多。
码字不易,您的每一个 “在看” 将是我继续创作的动力,谢谢!
留言区