【问题标题】:Change external annotations location in IDEA 2019.3+在 IDEA 2019.3+ 中更改外部注释位置
【发布时间】:2020-03-23 17:11:49
【问题描述】:

IntelliJ IDEA 允许您添加外部注释。

但是,文件直接进入项目的根目录。

如何更改文件夹?
我找不到设置。

【问题讨论】:

    标签: java intellij-idea annotations external-annotations


    【解决方案1】:

    这种行为非常令人困惑,我花了很长时间的 IDEA 调试会话才能理解。
    假设我们从一个干净的情况开始,我们向 library 的方法添加一个外部 Annotation。

    出现一个弹出窗口,让我们选择外部 Annotations 根目录。

    我们选择项目的根目录untitled3。但是操作,我们犯了一个错误!
    现在我们如何改变这个目录?它存储在哪里?
    嗯,其实不在任何$projectRoot$/.idea/* XML 文件下...

    让我们调试 IDEA。 “调用”层次结构是:

    > AnnotateIntentionAction
      > AddAnnotationPsiFix#invoke
        > ExternalAnnotationsManagerImpl#annotateExternally
    

    最后一个方法annotateExternally 调用AnnotationOrderRootType.getFiles(entry),其中entryLibraryOrderEntry

    这里orderEntry.getRootFiles(getInstance()) 被调用,生成的VirtualFile(s) 被用作库的外部注释根。

    它们存储在哪里?

    > Project structure
      > Modules
        > *your main module with dependencies*
          > *your library*
            > DOUBLE LEFT CLICK
    

    现在在 Annotations 条目上按 CANC,您就完成了……最后。
    你可以重新开始。

    【讨论】:

      【解决方案2】:

      您可以将 annotations.xml 文件拖放到 Project 窗格 中并将其移动到所需位置或在 Project 中明确更改路径结构 |项目设置 |模块 -> 模块路径 |外部注释

      【讨论】:

      • 没问题哈哈哈。也许你们可以在外部注释帮助页面上添加一些库信息吗?我怀疑我一个人在这。
      • 嗯,我尝试使用示例 gradle 项目重现相同的注释定位,并且在没有显式添加 gradle lib + annotations.xml 路径的情况下无法重现该案例。您能否描述一下您是如何定义以下路径位置的?
      • drive.google.com/open?id=1hw4fXvl3hQkosjVs39TFXzHvpZWrnOsa 这很简单。我在项目设置中将两个文件夹(annotation-root-one/annotation-root-two)定义为外部注释路径。现在,当您第一次向JSONObject#optJSONObject 方法添加外部注释时,它会询问您将其放在哪里,选择根untitled3。正如我在答案(最后一张图片)中显示的那样,该位置现在将位于库设置下。外部注释路径不用于库,仅用于本地源。但也许我误解了,你的意思是别的?
      • 感谢您的示例和澄清。我明白你的意思了,注释外部库的情况将被添加到文档中。
      猜你喜欢
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多