IDEA 代码生成插件 CodeMaker
前言
java 开发过程中经常会遇到编写重复代码的事情,例如说:编写领域类和持久类的时候,大部分时候它们的变量名称,类型是一样的,在编写领域类的时候常常要重复写类似的代码。类似的问题太多,却没找到可以支持自定义代码模板的插件,只能自己动手,丰衣足食,开发了一个 idea 的代码生成插件,通过 velocity 支持自定义代码模板来生成代码。
项目地址:
https://github.com/x-hansong/codemaker
主要功能
-
支持增加自定义代码模板(velocity)
-
支持选择多个类作为代码模板的上下文
安装
下载插件:
https://github.com/x-hansong/codemaker/releases/download/1.0/codemaker.zip
-
打开设置,选择“plugin”
-
在右边的框中点击“install plugin from disk”
-
选择上面下载的“codemaker.zip”
-
点击“apply”,然后重启 idea。
使用
在 java 类编辑界面右键“generate”,选择对应模板即可自动生成代码到当前类的包,大部分情况下生成的代码已经解决了百分之八十的问题,只需稍作修改,移动到合适的包中,就能快速完成代码编写。
如果代码模板需要除了当前类之外的类作为上下文,可以通过类选择框进行选择。
目前自带的两个模板:
model:根据当前类生成一个与其拥有类似属性的类,用于自动生成持久类对应的领域类(在持久类拥有超过10个属性的情况下,能够节省大量时间)。
converter:该模板需要两个类作为输入的上下文,用于自动生成领域类与持久类的转化类。
上面两个模板是我自己工作中常用的模板,仅供大家参考,自带的模板可能满足不了大家的需求,所以插件支持自定义新的代码模板。
模板配置
-
增加模板:点击“add template”后,填写相关配置(都不能为空),点击保存后即可生效,无需重启。(感谢khotyn提醒)
-
删除模板:点击“delete template”就能将该模板删除
-
template name:在生成菜单中显示的名称,英文命名
-
class number:该模板需要的输入上下文类的数量,例如:如果为 1,,将当前的类作为输入:
$class0
;如果为 2,需要用户再选择一个类作为输入:$class0
,$class1
。 -
class name:生成的类的名称,支持通过 velocity 进行配置,上下文为跟代码模板的相同。
模板上下文
模板上下文包含了以下变量:
######################################################################################## ## ## common variables: ## $year - yyyy ## $time - yyyy-mm-dd hh:mm:ss ## $user - user.name ## ## available variables: ## $class0 - the context class ## $class1 - the selected class, like $class2, $class2 ## $classname - generate by the config of "class name", the generated class name ## ## class entry structure: ## $class0.classname - the class name ## $class0.packagename - the packagename ## $class0.importlist - the list of imported classes name ## $class0.fields - the list of the class fields ## - type: the field type ## - name: the field name ## - modifier: the field modifier, like "private" ## $class0.methods - the list of class methods ## - name: the method name ## - modifier: the method modifier, like "private static" ## - returntype: the method returntype ## - params: the method params, like "(string name)" ## ########################################################################################
具体用法可参考自带的代码模板,通过模板上下文提供的定制能力,可以让每个用户都定制自己的风格的代码模板。
推荐阅读
-
IDEA mybatis-generator逆向工程生成代码
-
IDEA mybatis-generator逆向工程生成代码
-
详解在IDEA中使用MyBatis Generator逆向工程生成代码
-
IDEA Maven Mybatis generator 自动生成代码(实例讲解)
-
idea生成webservice客户端代码(webservice客户端调用方式)
-
idea生成webservice客户端代码(webservice客户端调用方式)
-
最简破解-java代码热加载热部署IDEA插件JRebel
-
IDEA EasyCode 一键帮你生成所需代码
-
Mybatis generator自动生成代码插件实例解析
-
基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持