4

最近我发现 Project Lombok 看起来真的很不错。我什至会说它在编译时确实涵盖了很多样板,而我仍然编写了一种有助于运行时的变通方法。我无法将 Lombok 集成到我当前的项目中,因为 IntelliJ IDEA 缺乏支持,即使是对没有 Lombok 扩展的基本支持也是如此。我还发现了一个不错且有用的 Lombok 扩展,名为lombok-pg,它具有非常酷的东西,比如yield()(不再有消费者生产者线程)。看一下lombok-pg源代码 我注意到它是为 javac 和 Eclipse 编写的。两种实现看起来非常相似,但据我了解 Lombok 扩展实现活动,假设 IntelliJ IDEA 支持需要另一个,第三个实现相同的东西,这听起来并不令人鼓舞。

我只是好奇:是否有任何一种框架可以提供一些通用接口来管理 AST 以及针对不同环境的实现?

4

1 回答 1

4

我只是好奇:是否有任何一种框架可以提供一些通用接口来管理 AST 以及针对不同环境的实现?

Lombok AST项目正试图实现这一目标。然而,这一切都很棘手,我不知道确切的状态(我只知道它没有死,两周前的最后一次提交)。除了 AST 操作之外,还有一些特定于编译器的黑客攻击需要完成,尤其是在 Eclipse 中,这使得这一切变得非常复杂。

基本上,Lombok 通过插件在 Intellij IDEA 中运行。由于 Lombok 作者自己不使用 Intellij,因此该开发的 AFAICT 优先级较低。

Lombok-pg 很酷,但不再维护。将其移植到 Lombok 并非易事

于 2013-10-15T07:44:46.530 回答