21

Doxygen 有点慢 - 处理我的整个项目大约需要几分钟,所以对于小的增量更改,这比实际构建我的其余代码要长。有成千上万个文件没有任何文档,所以我猜它大部分时间都在处理它们。有没有办法让它在没有任何文档的情况下跳过文件?

让它只处理更改的文件怎么样?

4

5 回答 5

13

来自 Doxygen 文档:

如何从我的目录树中排除所有测试目录?

只需在配置文件中放置这样的排除模式:

EXCLUDE_PATTERNS = /测试/

因此,您应该使用模式来排除文件。自从我使用 Doxygen 已经很长时间了,但我不记得有任何选项可以只处理更改的文件。

于 2008-11-04T10:34:39.303 回答
6

我发现关闭该选项SEARCH_INCLUDES有很大的不同。它正在查看整个平台 SDK 并包含编译器的路径,这些路径无论如何都没有记录,也不会出现在生成的文档中。

于 2009-03-23T02:15:36.600 回答
5

有一个 DOT_NUM_THREADS 选项可以提高多核机器的性能。不幸的是,doxygen 本身只是单线程的。

另一种方法是将您的代码组织成模块,为每个模块运行一个单独的 doxygen 实例并将生成的标签链接在一起: http: //www.doxygen.nl/manual/external.html

于 2010-07-20T16:29:17.007 回答
3

Doxygen 擅长查找文件之间的连接,无论是否更改。但是 Doxygen 不会记住有关未更改文件的信息,因此它必须每次都处理整个代码库。

可能的解决方案是组织项目,使从未更改的文件属于一个模块,该模块被排除在 Doxygen 范围之外并且其文档已经可用。然后可以告诉 Doxygen 将新建的文档链接到这个现有的模块文档。

更进一步,还可以使 Doxygen 逐个模块运行,只处理更改的模块和链接到所有模块文档的顶级文档。

于 2009-01-06T09:04:36.283 回答
2

我不认为让 Doxygen 在正常的开发周期上运行是一个好主意。我们的 Doxygen 构建作为我们持续集成服务器职责的一部分运行。

也就是说,每次构建运行 doxygen 以捕获丢失的文档有一些好处。所以我会修剪 doxygen 配置以用于删除图表的开发构建,甚至停止苹果将其导入 xcode。

于 2011-02-16T12:42:10.777 回答