IntelliJ在生成代码的编辑器中给出错误

时间:2016-03-31 18:08:32

标签: java intellij-idea annotation-processing

我在IntelliJ中有一个带有2个注释处理器的项目:Lombok和另一个简单的处理器。

  • 使用Gradle进行编译时,无论是在IntelliJ内部还是外部,一切正常。
  • 使用默认的IntelliJ设置运行时,Lombok可以工作但其他处理器不能
  • 当我选中设置下的Enable annotation processing框 - >构建,执行,部署 - >编译器 - >注释处理器,第二个处理器被执行,但编译失败并出现错误,其中使用了生成的代码
  • 当我还将sources目录更改为.(来自默认的generated)时,IntelliJ构建成功,并且它可以运行我的测试。但是,编辑器窗口仍然会在使用生成的代码时出错。自动完成功能也不起作用。
  • 如果我在注释处理器下添加第二个处理器的FQN,则错误消失,但Lombok不再工作(导致更多错误)。同时添加Lombok并没有帮助。

如何让所有的IntelliJ与注释处理器配合使用?

我正在使用IntelliJ 15.0.5,Lombok 1.16.8,IntelliJ Lombok插件0.10.15,Gradle 2.12,OpenJDK 1.8.0_66,Ubuntu 15.10

1 个答案:

答案 0 :(得分:-1)

IntelliJ的编辑器内代码突出显示不依赖于Java编译器,因此不支持注释处理。您可以通过编写一个插件来添加对您自己的注释处理器的支持,该插件将告诉IntelliJ注释处理器生成的方法;这就是IntelliJ Lombok插件的功能。