Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JetBrains Intellij IDEA Obejct辅助插件,提供Object Copy Method、Class to JSON、Class to Thrift IDL、Class to XML等功能。

License

Notifications You must be signed in to change notification settings

bigcoder84/object-helper-plugin

Repository files navigation

object-helper-plugin


JetBrains Intellij ObjectHelper 插件致力于消除开发者重复性的低效工作,助力开发者将更多精力聚焦于核心业务逻辑开发,显著提升开发效率。

功能介绍

生成对象拷贝方法(Object Copy Method)

  • set 模式:通过直观的操作流程,快速生成对象拷贝代码。默认使用快捷键 Alt+Insert 触发,若快捷键冲突,可在 settings->keymap 中搜索 "Generate" 关键字,查看并修改对应的快捷键设置。

  • builder 模式:当对象中包含 builder 或者 newBuilder 方法时,插件会智能识别并采用 builder 模式生成代码,实现更优雅的对象构建。

使用提示:使用对象拷贝方法时,需先定义好方法签名,插件将自动生成对应的方法体。适用于对象属性较多且需频繁拷贝的场景,如数据传输对象(DTO)的转换等,但在一些对代码灵活性要求较高的场景中,可能需要额外调整。

对象拷贝(Object Copy)

支持在业务代码和 Lambda 表达式中直接进行对象拷贝操作,极大提升了代码编写的便利性和效率。无论是处理复杂业务逻辑,还是简化数据处理流程,都能轻松应对。

Java类转JSON

在开发过程中,若需要快速生成一个类的对象的 JSON 示例,只需右键单击目标类名,即可一键生成,方便接口调试、文档编写等场景下快速获取数据结构示例。

Java类转 Thrift IDL

对于涉及 Thrift 框架的开发场景,通过右键单击目标类名,可快速生成对应的 Thrift IDL 文件,加速服务接口的定义和开发流程。

Java 类转 XML

相关配置

插件配置

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

  • Class To Json/Thrift IDL/XML:控制该功能是否启用。
  • generate field mode:
    • source:以源字段类型的字段为基础生成对象拷贝代码。例如在 Object Copy Method 功能,方法第一个入参的类型就是源字段类型,方法返回的类型为目标类型字段。
    • target:以目标类为基础生成对象拷贝代码。
  • non-existent field generate annotation:
    • enable:当目标字段在源对象中不存在时,以注释的形式生成代码。有助于开发者清晰了解字段缺失情况,方便后续代码维护和修改。

    • disable:不生成不存在字段的拷贝代码,适用于对代码简洁性要求较高,且能确保目标字段在源对象中都存在的场景。

假设存在两个 Java 类:ClassAClassB,ClassA 包含 abc 三个字段,ClassB 包含 bcd 三个字段。当使用 ObjectHelper 插件将 ClassA 实例的数据拷贝至 ClassB 实例时:

  • generate field mode=source:插件以 ClassA 的字段 abc 为基础生成拷贝代码。若 ClassB 中不存在对应字段(如 a),则根据 non-existent field generate annotation 配置决定是否处理该字段。
  • generate field mode=target:插件以 ClassB 的字段 bcd 为基准生成代码。若 ClassA 中无对应字段(如 d),同样由 non-existent field generate annotation 配置来决定是否生成相关代码或添加注释。
  • builder instance method:用于插件判断当前类是否支持builder模式,配置的是一个正则表达式。如果你的builder类生成的方法名与插件默认生成的不同,可以在设置中更改:

快捷键配置

对象拷贝的快捷键默认是 Alt+Insert,如果该快捷键无效,可以在 settings->keymap 中搜索 "Generate" 关键字查看具体的快捷键:

未来功能支持计划

object-helper插件未来功能支持计划:

  • Class 转 IDL(Class To Thrift IDL)
  • Class 转 XML(Class To XML)
  • 个性化配置
  • Object Copy Method 功能支持 Builder 模式
  • Object Copy 功能支持 Lambda 表达式
  • JSON 转 Class(JSON To Class)
  • Class 转 Protobuf IDL(JSON To Protobuf)
  • Class 转 Baiji(Class To Baiji)
  • 菜单分组显示

About

JetBrains Intellij IDEA Obejct辅助插件,提供Object Copy Method、Class to JSON、Class to Thrift IDL、Class to XML等功能。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /