我刚刚安装并设置了 Doxygen 的一个实例,但开箱即用,它只会在代码中找到 TODO 标签时标记在一个块中,如:
/**
* @todo Foo
*/
它似乎没有找到:
// TODO Foo
// FIXME Bar
// @todo Baz
大多数处理解析的 IDE 和错误跟踪器都很好,是否有一种简单的方法可以配置 Doxygen 来查找它们并将它们列为 ToDo 项?
我们可以使用许多示例和方法:
对于具有有效 doxygen 命令(例如)的单行注释,\todo
您将使用
/// \todo Some (optional) text
注意三个正斜杠,而不是通常的两个。请参阅 doxygen 文档的特殊文档块部分的第二个列表中的第三点。这可用于将新的待办事项添加到您的源代码中。
通常可以通过在 Doxygen 配置文件中定义别名来定义自定义标签(如FIXME
)。例如
ALIASES += FIXME="\todo"
这将允许您编写\FIXME
源代码,并且带有前缀的注释\FIXME
将包含在最终文档的待办事项列表中。这里的问题是,您必须在别名前加上\
(or @
) 符号,并以三个前导正斜杠开始注释,如果您想FIXME
在代码中保留 s 原样,这不是一个选项。
最后,我认为您正在寻找的另一种方法是使用INPUT_FILTER
配置文件选项预处理您的源文件。这个选项定义了一个命令,在 doxygen 构建文档之前应用到你的每个源文件,所以我们可以定义一个命令,用有效的 doxygen 标记替换TODO
实例FIXME
。
INPUT_FILTER = "sed -e 's/\/\/.*FIXME/\/\/\/ \\todo/'"
这个过滤器用. // FIXME
_ 这种替换仅由 doxygen 内部进行:您的源文件不会在磁盘上修改。//
FIXME
/// \todo
注意:最后一点的灵感来自于对问题Getting doxygen and MSVC TODO tags to work together的公认答案。但是,该答案使用了FILE_VERSION_FILTER
配置选项而不是INPUT_FILTER
. 我认为后者(INPUT_FILTER
)在这里实际上更合适。此外,该sed
答案中使用的命令对我不起作用。