我刚刚安装和使用Doxygen的设置的实例,但开箱它只是标志着像块时发现代码中TODO标签:Doxygen可以轻松配置为识别TODO和FIXME行吗?
/**
* @todo Foo
*/
它似乎并没有找到:
// TODO Foo
// FIXME Bar
// @todo Baz
大多数处理解析的IDE和错误跟踪器都可以使用它们,有没有简单的方法来配置Doxygen来找到它们并将它们列为待办事项?
我刚刚安装和使用Doxygen的设置的实例,但开箱它只是标志着像块时发现代码中TODO标签:Doxygen可以轻松配置为识别TODO和FIXME行吗?
/**
* @todo Foo
*/
它似乎并没有找到:
// TODO Foo
// FIXME Bar
// @todo Baz
大多数处理解析的IDE和错误跟踪器都可以使用它们,有没有简单的方法来配置Doxygen来找到它们并将它们列为待办事项?
有大量的实例和方法,我们可以使用:
对于有效Doxygen的一个行注释命令(例如\todo
),需要使用
/// \todo Some (optional) text
注意三个前进斜杠,而不是通常的两个。请参阅Doxygen文档special documentation blocks部分第二列表中的第三点。这可以用来将新的待办事项添加到您的源代码中。
通常可以通过在Doxygen配置文件中定义一个别名来定义自定义标签(如FIXME
)。例如
ALIASES += FIXME="\todo"
,这将使你写在你的源代码\FIXME
与\FIXME
前缀的评论将在你被列入最终的文档中的待办事项列表。这里的问题是,您必须在\
(或@
)符号前添加您的别名,并使用三个前导斜杠开始评论,如果您想将FIXME
保留在代码中,则不能作为选项。
最后,另一种方法和我认为你在寻找的是使用INPUT_FILTER
配置文件选项预处理源文件。该选项定义了一个在Doxygen构建文档之前应用于每个源文件的命令,因此我们可以定义一个命令,用有效的Doxygen标记替换TODO
和FIXME
的实例。
INPUT_FILTER = "sed -e 's/\/\/.*FIXME/\/\/\/ \\todo/'"
该过滤器替换的// FIXME
所有实例(与空白的//
和FIXME
之间的任何量(或无))与/// \todo
。这种替换仅由Doxygen在内部进行:您的源文件不会在磁盘上修改。
注意:最后一点受到对Getting Doxygen and MSVC TODO tags to work together问题的接受答案的启发。但是,该答案使用FILE_VERSION_FILTER
配置选项而不是INPUT_FILTER
。我认为后者(INPUT_FILTER
)在这里实际上更合适。此外,该答案中使用的sed
命令对我无效。
Doxygen的评论往往是在特殊的评论块内,对吗?我认为对于单行注释,你会使用'/// @todo一些文本'(注意三个正斜杠,而不是通常的两个)。请参见[this](http://www.stack.nl/~dimitri/doxygen/docblocks.html)页面上的第二个列表中的第三点。 – Chris 2011-12-16 14:42:52
谢谢,我完全错过了该页面,将检查出来。[我通常不是这样懒惰,我只是时间紧迫,但试图做到这一点,所以至少我们有/东西/ :)] – 2011-12-19 12:18:48