23

是否可以更改 和 的代码生成equals()模板hashCode()

我希望生成的代码将 Java 7Objects类用于这些方法。

4

4 回答 4

26

从终极版14.1版开始,可以自定义 equals()/hashCode() 的代码生成模板,而无需使用任何第三方插件。

按“Alt + Insert”(生成...),选择“equals() 和 hashCode()”,您将能够选择预定义模板之一或您自己的自定义模板。

编辑

于 2015-03-25T13:22:11.620 回答
4

更新:看看@datentyp 的答案。留给那些坚持旧版本的人

有插件可以做到这一点。请看一下这些:

http://plugins.jetbrains.com/plugin/6875?pr=idea

http://plugins.jetbrains.com/plugin/7244?pr=idea

它们是开源的,因此您可以根据需要对其进行修改。

于 2014-01-26T15:42:58.023 回答
1

更新:从 14.1 版开始支持此功能。

显然这个功能不存在。

不过有一个请求,请参阅:http: //youtrack.jetbrains.com/issue/IDEA-56007

于 2013-08-23T17:52:26.133 回答
1

是的,这是可能的,但有一些小技巧。在 app 文件夹中找到你的 idea.jar 文件。查看内部并找到如下文件:

  • apacheEqualsBuilder3.vm
  • apacheHashCodeBuilder3.vm

和其他 .vm 文件..

这些模板文件重用了 equalsHelper.vm 中的一些宏。

根据需要仔细更改 JAR 中的这些文件重新启动应用程序并在 Idea 下检查结果

generate->equals() 和 hashCode()->Template (...右侧三个点)->右侧的只读预览。

我认为安装 Idea 的更新可能会用您的自定义模板更改覆盖这个 JAR。

有用!签入想法 15。享受。:-)

于 2015-12-18T08:17:37.740 回答