IDEA插件-EasyCode

简介: EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。

EasyCode插件介绍

EasyCode开源地址:https://gitee.com/makejava/EasyCode

EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。

支持的数据库类型

因为是基于Database Tool开发,所有Database Tool支持的数据库都是支持的。包括如下数据库:

  1. MySQL
  2. SQL Server
  3. Oracle
  4. PostgreSQL
  5. Sqlite
  6. Sybase
  7. Derby
  8. DB2
  9. HSQLDB
  10. H2

当然支持的数据库类型也会随着Database Tool插件的更新同步更新。

功能说明

  • 支持多表同时操作
  • 支持同时生成多个模板
  • 支持自定义模板
  • 支持自定义类型映射(支持正则)
  • 支持自定义附加列
  • 支持列附加属性
  • 所有配置项目支持分组模式,在不同项目(或选择不同数据库时),只需要切换对应的分组,所有配置统一变化。

功能对比

功能

Easy Code

其他工具

自定义模板

支持

支持

多表生成

支持

支持

生成方式

无缝集成在项目中

部分工具需要复制粘贴

附加列

支持

不支持

附加列属性

支持

不支持

动态调试模板

支持

不支持

图形化界面

支持

部分支持

使用环境

仅限IDEA

支持各种形式

在线支持

后期扩展

不支持

自定义类型映射

支持

部分支持

全局变量

支持

不支持

使用文档

https://gitee.com/makejava/EasyCode/wikis/pages

EasyCode插件安装

在线安装

进入 Settings -> Plugins -> Marketplace -> 在搜索框输入EasyCode,点击Installed安装,效果如下图:

EasyCode安装后不需要重启IDEA,可以直接使用。

离线安装

有可能因为网络原因无法在线安装,可以通过关注公众号程序员平安】回复消息【1017】 获取安装包,根据自己的IDEA版本下载对应的插件,效果如下图:

离线安装步骤如下:

进入 Settings -> Plugins -> 设置按钮 -> Install Plugin from Disk... -> 选择下载的安装包,效果如下图:

EasyCode插件使用

参考https://gitee.com/makejava/EasyCode

IDEA添加数据源
动图教程

说明:

  1. 首次添加数据源需要先下载驱动。
  2. 支持哪些数据源处决于IDEA,与EasyCode无关。

单表生成代码

动图教程

说明

  1. 每张表生成一次代码后,配置信息将会被保存,方便下次生成。
  2. 禁止提示表示所有对话框不再弹出,并自动确认。
  3. 多module项目,注意需要先选择module。
  4. 统一配置(鸡肋)后面会介绍。

多表生成代码

动图教程

说明

  1. 可以通过按住ctrl键去选中多张表,或者通过shift方式。
  2. 默认使用最先被选中的表的配置信息。

添加类型映射

动图教程

说明

  1. 默认只有一部分类型映射,其他的需要用户自行添加。
  2. 类型映射统一使用正则表达式实现。
  3. 不需要使用Java编码时的\转义符,直接使用\即可。

示例

表达式

可匹配项

可匹配项

可匹配项

可匹配项

不可匹配项目

int\(\d+\)

int(1)

int(2)

int(10)

int(99999)

int

int(\(\d+\))?

int

int(1)

int(10)

int(99999)

decimal\(\d+,\d+\)

decimal(1,1)

decimal(10,10)

decimal(100,100)

decimal(10,1)

decimal(1)

decimal\(\d+(,\d+)?\)

decimal(1,1)

decimal(10)

decimal(100,100)

decimal(10)

decimal

tinyint\(1\)

tinyint(1)

int\([1-8]\)

int(1)

int(2)

int(3)

int(8)

int(9)

`int((9

\d{2,}))`

int(9)

int(10)

int(123)

int(999)

Java正则表达式:https://www.runoob.com/java/java-regular-expressions.html

自定义模板

动图教程

说明

  1. 编写模板时下面配有说明文档,注意查看。
  2. 编写时可以实时调式。
  3. 不推荐编辑默认模板,可以复制一个分组进行编辑。(点击分组右边的复制图标或新增图片)
  4. 添加模板时名称尽量带扩展名,如entity.java 这样可以实现代码语法高亮。

Velocity模板引擎语法:https://www.cnblogs.com/yangzhinian/p/4885973.html

使用全局变量

说明

  1. 全局变量可以在设置中的Other Settings->Easy Code->Global Config中找到。
  2. 例如添加一个全局变量名称为demo值为Hello,那么就可以在任意模板中通过$!demo去使用这个全局变量。当然通常并不会这么使用,而是使用velocity语法中的#set来完成。
  3. 全局变量主要是用来定义宏(velocity宏定义),或者用来编写一大段重复代码。
  4. 全局变量的命名很重要,千万不能与模板中的任意变量名冲突。不然会被替换。

简单的来说全局变量就是一个自定义变量,至于怎么玩那就要看个人了。

将配置导出到本地

动图教程

说明

  1. 该导出方式为IDEA自带方式导出,将会导出EasyCode的所有配置。
  2. 可以通过File菜单下的Import Settings选项导入配置。(如果只导出了EasyCode的配置,则只覆盖EasyCode的所有配置。如果存在其他配置,则其他配置也会被覆盖)
  3. 通常用于保存长期不变的配置到本地文件,防止丢失。

导入配置

动图教程

说明

  1. 可以通过Easy Code自带的导入导出功能实现模板同步。(导出后将token发给需要同步的电脑导入即可)。
  2. 导出可以选择需要导出的分组(这就是与IDEA自带导出不同的地方)。
  3. 导入也可以选择是否需要覆盖分组。
  4. 注意:token是有有效期的。

重置默认设置

说明

  1. 重置默认设置可以在设置中的Other Settings->Easy Code中找到。(右上角位置)
  2. 重置默认设置只会重置Easy Code自带的分组内容,不会重置用户新增的分组。(这就是建议不要使用默认分组的原因)
  3. 作用:Easy Code版本更新时会对默认分组的信息进更改,但是为了保证不覆盖用户的配置,所以更新版本后需要用户手动重置默认设置才能看到最新的模板信息。

统一配置

说明

  1. 统一配置只有在多表生成时才有效。

状态

使用当前配置

使用自身配置

保存当前配置

不勾选统一配置

未配置的表

已配置的表

未配置的表

勾选统一配置

未配置的表+已配置的表

未配置的表

解释:

  1. 已配置的表:生成过代码的表。
  2. 未配置的表:从未生成过代码的表。

版本控制同步表配置

大部分合作开发环境都会使用Git、SVN等版本控制工具,那么在这种情况下如何同步表的配置信息呢?只需要将.idea/EasyCodeConfig文件夹排除忽略添加至版本控制中就可以完成同步配置了。

注意:这里所说的配置并不是模板配置,而是针对每张表的配置,后面会做介绍。

EasyCode使用debug

动图教程

说明

  1. 通过tool.debug方法可以调试任意对象。
  2. 通过调试可以查看到对象的所有属性和所有public方法。
  3. 通过tool.getField方法可以获取到对象任意属性,包括private属性。
  4. 作用:不清楚内部结构的对象都可以通过debug功能来查询。

在表中添加附加列

动图教程

说明

  1. 自定义附加列与数据库的列无关
  2. 自定义附加列不存在obj对象(原始对象)
  3. columnInfo.custom 标记是否为自定义附加列,例如生成XML时不需要附加列,可以通过该属性进行排除。
  4. 注意:由于JSwing中的table编辑框必须失去焦点才能正常保存值,所以编辑完毕后需要将光标移动到别的位置上。然后再点击确认才能正常保存。
  5. 作用:通常实体类会有一些数据库里面没有的属性,如果手动添加这些属性每次重新生成代码时这些属性就会被消除掉。又需要重新手动去添加,自定义附加列就是专门用于解决这类问题的。

在列上添加附加属性

动图教程

说明

  1. 自定义附加属性支持3中类型:复选框、文本框、下拉选择框
  2. 注意:由于JSwing中的table编辑框必须失去焦点才能正常保存值,所以编辑完毕后需要将光标移动到别的位置上。然后再点击确认才能正常保存。
  3. 作用:
    例一:如用于生成DTO代码,有的属性不需要生成,通过自定义属性标记一些。然后在模板里面写一些排除代码即可完成。
    例二:如果用于生成HTML代码,有的表单只需要新增属性(标记一下),有的表单只需要更新属性(标记一下),模板里面统一处理这些标记。即可到达想要的代码。

类型

selectValue

type

复选框

不支持

BOOLEAN

文本框

不支持

TEXT

下拉选择框

英文逗号分割可选项

SELECT

手动修改EasyCode配置

  1. 每张生成过代码的表都会在.idea/EasyCodeConfig文件夹下有一个对应的配置文件。
  2. 每个配置文件里面都配置着表的各个属性,可以随意删除(删除后重新生成代码会重新出现,但是配置会丢失)。
  3. 配置为null的属性会动态的从数据库中抓取。
  4. 相信你都看到这里了,这个配置文件还是可以一目了然的。毕竟Easy Code的可扩展性太强了,使用骚操作难免会出问题。遇到问题时可以看看能不能手动改一改这里来解决。
相关文章
|
3月前
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
1月前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
101 6
|
3月前
|
Java
可直接编辑jar包的IDEA插件-JarEditor
IDEA自带的反编译插件虽可查看jar包中的class文件,但无法直接编辑。为解决此问题,作者开发了JarEditor插件,可在IDEA中直接编辑jar文件内的class及资源文件,无需解压或手动编译。点击Jar Editor可修改代码,通过Save/Compile保存并编译,Build Jar则将更改写回jar包。该插件简化了jar包编辑流程,提高了开发效率。
245 4
可直接编辑jar包的IDEA插件-JarEditor
|
3天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
2月前
|
Windows
IDEA如何查看已经安装的插件并删除
【10月更文挑战第1天】这段内容主要介绍了如何在IntelliJ IDEA中查看和删除已安装的插件。可以通过软件内的插件市场查看插件列表,包括插件名称、版本号和供应商等信息;也可以通过访问插件目录查看。删除插件则建议在插件市场中进行,包括禁用和卸载步骤,手动删除插件文件夹的方法不推荐,因为可能存在配置残留等问题。
750 11
|
2月前
|
人工智能 Java 数据库连接
IDEA开发 常用代码规范插件 常用辅助类插件
IDEA开发 常用代码规范插件 常用辅助类插件
67 0
|
4月前
|
自然语言处理 JavaScript 算法
【插件】IDEA这款插件,爱到无法自拔
本文介绍了阿里云「通义灵码」这一强大IDEA插件,它不仅能够智能生成代码、解答研发问题,还支持多种编程语言和编辑器。文章详细展示了如何安装使用该插件,并通过多个实际案例说明其在代码解释、优化、生成注释及单元测试等方面的应用,助力开发者提高效率。强烈推荐尝试!
144 1
【插件】IDEA这款插件,爱到无法自拔
|
2月前
|
IDE Java Maven
分享几个实用的IDEA插件,提高你的工作效率!
分享几个实用的IDEA插件,提高你的工作效率!
154 0
|
4月前
|
Java
2022年最新最详细的IntelliJ idea高效插件的介绍安装,让你的工作效率提升10倍
这篇文章详细介绍了10款IntelliJ IDEA的高效插件,包括Codota代码智能提示、Key Promoter X快捷键提示、CodeGlance代码缩略图、Lombok代码简化、阿里巴巴代码规范检查、SonarLint代码质量检查、Save Actions格式化代码、Translation翻译、Rainbow Brackets彩虹括号和Nyan Progress Bar彩虹进度条插件,旨在帮助提升开发效率和代码质量。
2022年最新最详细的IntelliJ idea高效插件的介绍安装,让你的工作效率提升10倍
|
4月前
|
Java Maven 开发者
"揭秘IDEA的神奇助手:Maven Helper插件,让你轻松驾驭复杂依赖,告别冲突噩梦!"
【8月更文挑战第20天】Maven Helper是一款提升Java开发者工作效率的IDEA插件,它能直观展示项目依赖关系并协助管理。主要功能包括依赖树视图、冲突检测与解决及依赖排除。安装简便,重启IDEA后即用。借助其“Dependencies”面板,开发者可以清晰了解依赖详情,快速定位并解决冲突问题,有效优化项目结构,提升开发效率。
284 0
下一篇
DataWorks