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的可扩展性太强了,使用骚操作难免会出问题。遇到问题时可以看看能不能手动改一改这里来解决。
相关文章
|
5天前
|
Java
可直接编辑jar包的IDEA插件-JarEditor
IDEA自带的反编译插件虽可查看jar包中的class文件,但无法直接编辑。为解决此问题,作者开发了JarEditor插件,可在IDEA中直接编辑jar文件内的class及资源文件,无需解压或手动编译。点击Jar Editor可修改代码,通过Save/Compile保存并编译,Build Jar则将更改写回jar包。该插件简化了jar包编辑流程,提高了开发效率。
可直接编辑jar包的IDEA插件-JarEditor
|
9天前
|
自然语言处理 JavaScript 算法
【插件】IDEA这款插件,爱到无法自拔
本文介绍了阿里云「通义灵码」这一强大IDEA插件,它不仅能够智能生成代码、解答研发问题,还支持多种编程语言和编辑器。文章详细展示了如何安装使用该插件,并通过多个实际案例说明其在代码解释、优化、生成注释及单元测试等方面的应用,助力开发者提高效率。强烈推荐尝试!
26 1
【插件】IDEA这款插件,爱到无法自拔
|
19天前
|
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倍
|
2月前
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
205 2
[JarEditor]可直接修改jar包的IDEA插件
|
2月前
|
Java Maven
idea安装并使用maven依赖分析插件:Maven Helper
idea安装并使用maven依赖分析插件:Maven Helper
677 7
|
18天前
|
Java Maven 开发者
"揭秘IDEA的神奇助手:Maven Helper插件,让你轻松驾驭复杂依赖,告别冲突噩梦!"
【8月更文挑战第20天】Maven Helper是一款提升Java开发者工作效率的IDEA插件,它能直观展示项目依赖关系并协助管理。主要功能包括依赖树视图、冲突检测与解决及依赖排除。安装简便,重启IDEA后即用。借助其“Dependencies”面板,开发者可以清晰了解依赖详情,快速定位并解决冲突问题,有效优化项目结构,提升开发效率。
38 0
|
2月前
|
JSON Java Maven
几个适合Java开发者的免费IDEA插件
【7月更文挑战第15天】以下是适合Java开发者的免费IDEA插件: - **Test Data**: 生成用于单元测试的随机数据,支持多种格式如JSON、CSV等。 - **SonarLint**: 实时检测并修正代码质量问题,提供详细的风险分析。 - **Maven Helper**: 提供pom.xml文件的UI界面,便于管理Maven项目依赖。 - **RestFulTool**: 辅助RESTful服务开发与测试,尤其适合Spring MVC和Spring Boot项目。 - **EnvFile**: 在IDE内部设置运行配置的环境变量,支持YAML、JSON等格式。
|
2月前
|
SQL 监控 Java
IDEA插件-Mybatis Log Free日志替换
MyBatis Log Free 是一个免费的用于在 IntelliJ IDEA 中显示 MyBatis 日志的插件。它可以帮助您更方便地查看和分析 MyBatis 的 SQL 执行情况,以及定位潜在的性能问题,提高开发效率。
175 0
IDEA插件-Mybatis Log Free日志替换
|
2月前
|
程序员 开发者
IDEA插件-Power Mode II键盘炫酷效果
Power Mode II 是一款为 IntelliJ IDEA 设计的插件,旨在为编码过程增添动感和趣味性。这款插件通过在代码编写时添加视觉特效、声音效果和其他动态元素,为开发者提供了一个独特且富有创意的编程体验。
IDEA插件-Power Mode II键盘炫酷效果
|
4月前
|
机器学习/深度学习 人工智能 Java
20款超级好用的idea插件,开发效率翻倍!!!
20款超级好用的idea插件,开发效率翻倍!!!
151 1