如果你是一个专业的Java开发者,你可能使用IntelliJ IDEA作为你的IDE,使用Lombok作为处理Java模板的框架。你可能不知道的是,这两种技术不仅本身运行良好,而且当它们结合在一起时,甚至比单独使用时更有效率。
IntelliJ IDEA Ultimate捆绑了Lombok插件,使Lombok更加有用和方便。事实上,它的价值如此之高,以至于在过去,当该插件没有被捆绑时,许多用户不会升级,直到该插件与较新版本的IntelliJ IDEA兼容。
今天,让我们来探讨一下IntelliJ IDEA中的Lombok支持,看看它们是如何让项目变得更干净、更少赘述、更容易维护、更愉快地工作的。
让我们从克隆规范的spring-petclinic项目开始。
然后,确保Lombok插件被启用:
现在,让我们把Lombok添加到项目的依赖项中。我们可以通过构建脚本做到这一点,或者我们可以直接开始使用Lombok注释,IntelliJ IDEA会建议添加缺少的依赖项。
现在我们已经确保插件被启用,并且依赖关系在classpath上,让我们看看功能。
在我们的项目中,有很多琐碎的访问器方法,所以让我们从替换它们开始。每当IntelliJ IDEA识别到一个成员可以用Lombok注解替换,它就会建议进行快速修复:
这同样适用于无处不在的记录器、微不足道的equals() 和hashCode() 实现、构造函数等等。
因为IntelliJ IDEA知道在编译时将生成相应的字节码,所以Lombok代码不会变红。所有的基本功能,如导航和重命名重构,也能很好地适用于这样的代码。
例如,我们可以搜索一个支持字段的使用情况,其访问器方法被替换为Lombok注释。访问器的调用被发现,就像模板在那里一样:
![Find Usages provides relevant results even though the code is physically missing.>
All this also works well with advanced annotations, such as Builder, SuperBuilder, and Accessors with prefixes.
如果注释之间有冲突,或其他与Lombok相关的问题,IntelliJ IDEA将立即检测到这个问题。这很方便,因为不然的话,这样的错误直到编译时才会显现出来,这增加了反馈循环,从而浪费了你的时间。
这些检查是以专用检查集的形式实现的,你可以根据你的喜好来调整:
如果你的项目使用Lombok配置系统来定制Lombok功能和行为,那么IntelliJ IDEA也会帮助你进行配置:
你可以使用基本的代码智能功能,例如lombok.config 文件内的代码完成。
你是Lombok的新手吗?你想快速评估你的项目在Lombok注释下会是什么样子?使用Lombok动作很容易,你可以对整个类进行调用。
然后,IntelliJ IDEA将建议该类有哪些注释可用:
另一方面,如果你想从你的项目中移除Lombok注解,这也可以通过Delombok动作实现。这可以节省你的时间,避免在删除注释和试图保留原始代码的语义时可能出现的人为错误。
我们希望这篇文章能帮助你了解更多关于IntelliJ IDEA中的Lombok支持。正如我们刚才所看到的,Lombok可以使你的项目更干净,更少的言语,更容易维护,而IntelliJ IDEA则增加了重构、导航和静态分析等基本功能。