IDEA 插件开发

来源:互联网 发布:ubuntu 光盘安装 编辑:程序博客网 时间:2024/06/03 09:41

项目中经常需要用到外部服务或者对外提供服务的接口,这个时候需要对返回参数进行转义避免外部对象对内部系统的影响。比如接口 DataTO getMyDate()返回值是DataTo 我需要转换成我们内部的对象DataDO,这样就算业务方提供的DataTO发生了变化,我们内部系统收到的影响可以最小化。这样就需要写一个DataTO到DataDO的转换方法,通常是属性的拷贝,类似:

public static DataDO toDataDO(DataTO dataTO) {        if (dataTO == null) {            return null;        }        DataDO DataDO = new DataDO();        DataDO.setPlname(dataTO.getPlname());        DataDO.setPladdress(dataTO.getPladdress());        DataDO.setTel(dataTO.getTel());        DataDO.setUrl(dataTO.getUrl());        DataDO.setPosx(dataTO.getPosx());        DataDO.setPosy(dataTO.getPosy());        DataDO.setStoreType(dataTO.getStoreType());        return DataDO;    }
你会发现如果属性很多,就需要人肉写很多这种机械的代码,有时候可能漏掉一个,就会很难发现问题。这个时候一般会有人写个main函数,java的反射可以很好的解决这个问题。因为想尝试下IDEA的plugin开发,就想开发一个可以自动生成O2O方法体的插件。

网上关于IDEA plugin的文档不算多,中文的也比较老,不过基本也凑合了。参考资料:

http://www.intellij.org.cn/downloads/intellij_plugin_basic.pdf

https://docs.google.com/document/pub?id=13WdYcWgXErISfdpToxGu1mFUC1jEZpjMYCCAzi2CEPQ

http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment
上面都是中文的,不过版本有点老,英文可以的同学可以看下官方的文档

http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment

不过后面用到的很多api还是要通过英文文档来看的。实际开发中还是有很多坑的,多借鉴其他插件的源码,多摸索。

目前插件已经上线trueGenerateO2O

源码在:https://github.com/ykdsg/GenerateO2O