【问题标题】:IntelliJ gives error in editor on generated codeIntelliJ 在生成代码的编辑器中给出错误
【发布时间】:2016-03-31 18:08:32
【问题描述】:

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

  • 使用 Gradle 编译时,无论是在 IntelliJ 内部还是外部,一切正常。
  • 使用默认 IntelliJ 设置运行时,Lombok 可以工作,但其他处理器不能
  • 当我检查设置 -> 构建、执行、部署 -> 编译器 -> 注释处理器下的 Enable annotation processing 框时,执行第二个处理器,但编译失败并在使用生成的代码时出现错误
  • 当我也将源目录更改为.(从默认的generated)时,IntelliJ 构建成功,它可以运行我的测试。但是,编辑器窗口仍然会在使用生成的代码时出现错误。自动补全也不起作用。
  • 如果我在 Annotation Processors 下添加第二个处理器的 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

【问题讨论】:

    标签: java intellij-idea annotation-processing


    【解决方案1】:

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

    【讨论】:

    • 但是:If I add the second processor's FQN under Annotation Processors, the errors go away。为什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多