一. 插件背景

object-helper 插件是一个日常开发工具集插件,提供丰富的功能,最开始是基于 GenerateO2O 插件开发而来,它提供了对象之间值拷贝代码自动生成的能力,就像这样:

因为它很早之前就停止维护了,新版本IDEA无法使用该插件,所以自己参考它的交互模式,基于新版本API开发了初版 object-helper-plugin插件,再次感谢 GenerateO2O 的作者。

根据日常开发中的痛点,object-helper-plugin 插件不断迭代,提供着我们的开发效率。

欢迎大家在 Issues 中提出宝贵意见,也可以联系我成为一名插件开发者,共同完善插件的功能。

object-helper插件源码:object-helper-plugin

二. 插件下载

方式一

官网下载:ObjectHelper - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)

方式二

插件市场搜索 “ObjectHelper”

方式三

Github下载最新安装包,拖入IDEA即可:object-helper-plugin

二. 插件功能

2.1 对象复制代码生成

有些场景下,我们需要快速写一个对象值复制的方法,我们只需要写一个空方法,就像这样:

1
2
3
pulibc User dtoToModel(UserDTO userDTO){

}

在方法内部使用 Alt+Insert 快捷键,点击 Object Copy Method 就可以自动生成对象拷贝的代码。

Alt+Insert 是IDEA默认快捷键,如果无效,可以在settings->keymap中搜索“Generate”关键字查看具体的快捷键:

2.2 Class类转JSON字符串

有时候我们写接口文档时,或者和第三方对接接口格式时,如果我们已经有了接口返回对象结构,就不需要Mock数据,手动转成JSON了,只需要鼠标轻轻一点就可完成:

2.3 Class类转 Thrift IDL

有些公司的RPC框架可能是基于Thrift开发的,有些场景下我们定义好WEB接口后,还需要将类似的结构转成IDL语言再写一遍,有了插件的帮助,小手点一下就能完成:

2.4 Class类转XML字符串

三. 插件配置

因为插件功能比较杂,大家可以自定义开启其中常用的功能:

File->settings->Tools->Object Helper 即可进入插件的配置页面

四. 未来功能支持计划及优化

4.1 未来支持功能

  1. Class 转 Proto Buffer IDL
  2. All Setter

4.2 待优化点

  1. Class转XML多模式,以及循环依赖检测
  2. Class转JSON、Class转XML功能支持数据类型默认值设定,以及根据字段名称,智能动态生成默认值。
  3. 菜单分组展示