Doxygen特殊命令:忽略文件

12

我正在向一个由Doxygen记录的庞大代码库中添加代码。但我希望某些文件不包括在Doxygen文档中。

虽然Doxyfile包含许多控件来包含和排除特定文件,但由于有许多人共同贡献于此代码库,我宁愿避免修改Doxyfile。

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

3个回答

10

你不能通过特殊命令忽略一个文件,但是你可以在Doxygen配置文件(通常称为Doxyfile)中通过将要排除的静态或相对路径添加到EXCLUDE标签来从文档中排除文件,例如:

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

通过这种方式,您还可以从文档中排除整个目录:

EXCLUDE =  ./../lib

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

EXCLUDE_PATTERNS = */test/*

希望这有所帮助。

你会如何排除多个具有完全不同相对路径的文件夹? - Avamander

1

如何让doxygen忽略某些代码片段?展示了如何实现。您需要在开头放置\cond,在结尾放置\endcond。另请参阅如何在Doxygen文档中注释掉注释

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

How can I make doxygen ignore some code fragment?

The new and easiest way is to add one comment block with a \cond command at the start and one comment block with a \endcond command at the end of the piece of code that should be ignored. This should be within the same file of course.

But you can also use Doxygen's preprocessor for this: If you put

#ifndef DOXYGEN_SHOULD_SKIP_THIS

 /* code that must be skipped by Doxygen */

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

around the blocks that should be hidden and put:

  PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS

in the config file then all blocks should be skipped by Doxygen as long as ENABLE_PREPROCESSING is set to YES.


谢谢,但我希望将整个文件从Doxygen文档的文件列表中排除。我已经使用/cond命令来忽略文件的某些部分,但有一些整个文件我希望被排除在外。我可以在doxyfile中轻松地完成这个操作,但库的其他贡献者希望我不要修改doxyfile。 - BigBobby
当我将/cond和/endcon放在文件的第一行和最后一行时,它仍然显示在文件列表中,但该文件的页面为空白。 - BigBobby
@BigBobby 好的,谢谢。谷歌确实显示了一些方法,但大部分涉及到 .text 或 .doxy 文件。除此之外它提到了 EXCLUDE 规范,你说不能将其添加到 doxyfile 中。Doxyfile 中是否有 INCLUDE 规范或者是全局包含所有内容? - sabbahillel
1
在我证明了代码中的标签是不可能的之后,我被允许更改doxyfile。 - BigBobby
@BigBobby 好的,那应该没问题了。祝你在项目中取得成功。 - sabbahillel
显示剩余3条评论

0

BigBobby: "由于许多人贡献了这个库,我更喜欢避免修改doxyfile文件。"

请考虑在同一项目中可以有多个doxyfile文件。您可以复制已有的文件,添加所需内容,并使用不同的名称保存它(例如doxyfile_BigBobby)。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接