【问题标题】:doxygen special command to ignore a filedoxygen 忽略文件的特殊命令
【发布时间】:2016-04-18 23:53:34
【问题描述】:

我正在向一个使用 Doxygen 记录的大型库添加代码。我希望某些文件不包含在 Doxygen 文档中。

doxyfile 包含许多用于包含和排除特定文件的控件,但由于许多人为这个库做出了贡献,我宁愿避免修改 doxyfile。

是否有任何特殊命令可以放入文件本身,指示 Doxygen 忽略整个文件?

【问题讨论】:

    标签: c doxygen


    【解决方案1】:

    您不能通过特殊命令忽略文件,但您可以通过将静态或相对路径添加到应排除在 @ 987654321@标签,如:

    EXCLUDE =  ./../lib/stdio.h
    

    这样您还可以从文档中排除整个目录:

    EXCLUDE =  ./../lib
    

    您还可以使用EXCLUDE_PATTERNS 标记并使用通配符模式,例如:

    EXCLUDE_PATTERNS = */test/*
    

    希望这会有所帮助。

    【讨论】:

    • 您将如何排除具有完全不同的相对路径的多个文件夹?
    【解决方案2】:

    BigBobby:“由于很多人为这个库做出了贡献,我宁愿避免修改 doxyfile。”

    考虑到您可以在同一个项目中拥有多个 doxyfile。你可以复制一个已经可用的,添加你需要的,然后用不同的名字保存它(例如 doxyfile_BigBobby)。

    特别是,我通常在项目中放置两个 doxyfile,一个用于最终用户文档(仅包含接口),另一个用于开发人员。

    【讨论】:

      【解决方案3】:

      How can I make doxygen ignore some code fragment? 展示了如何做到这一点。您可以将 \cond 放在开头,将 \endcond 放在结尾。另见How to comment out comment in Doxygen documentation

      请注意,虽然仍会包含该文件,但该文件的内容将被忽略。

      如何让 doxygen 忽略某些代码片段?

      最简单的新方法是添加一个带有 \cond 的注释块 开头的命令和一个带有 \endcond 命令的注释块 应该被忽略的代码段的结尾。这应该是 当然在同一个文件中。

      但是你也可以使用 Doxygen 的预处理器:如果你放

      #ifndef DOXYGEN_SHOULD_SKIP_THIS
      
       /* code that must be skipped by Doxygen */
      
      #endif /* DOXYGEN_SHOULD_SKIP_THIS */
      

      围绕应该隐藏和放置的块:

        PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
      

      在配置文件中,所有块都应该被 Doxygen 跳过为 只要ENABLE_PREPROCESSING 设置为YES。

      【讨论】:

      • 谢谢,但我确实希望将整个文件从 Doxygen 文档的文件列表中排除。我已经使用 /cond 命令忽略了部分文件,但是我希望排除一些完整的文件。我可以在 doxyfile 中轻松完成此操作,但该库的其他贡献者希望我不要修改 doxyfile。
      • @BigBobby 是的,这就是为什么我建议使用 /cond 排除文件中的所有内容。至少这样 Doxygen 会在不向系统中放入任何东西的情况下退出。如果您将 /cond 和 /endcon 设置为文件中的第一行和最后一行,会发生什么情况?我现在无法访问 Doxygen,所以我只能从理论上回答。
      • 当我将 /cond 和 /endcon 设置为文件的第一行和最后一行时,它仍然显示在文件列表中,但该文件的页面是空白的。
      • @BigBobby 好的,谢谢。谷歌确实展示了某些方法,但其中大多数涉及 .text 或 .doxy 文件。否则,它提到了您无法添加到 doxyfile 的 EXCLUDE 规范。 doxyfile 有 INCLUDE 规范还是设置为全局包含所有内容?
      • 在我证明代码中的标签是不可能的之后,我被允许更改 doxyfile。
      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 2013-08-10
      • 2022-01-25
      • 1970-01-01
      • 2013-12-11
      • 2023-03-22
      相关资源
      最近更新 更多