自定义标签与Doxygen

我想弄清楚是否有办法使用Doxygen创build自定义标签。 我find了ALIASconfiguration文件选项,但是这并不完全符合我的需要。 基本上在我的代码中,我想能够写出类似的东西

/// \req Requirement #322 - blah blah 

然后让Doxygen创build一个类似于\bug\todo命令的列表,该列表具有这个自定义标签。 这可能与Doxygen?

\bug\todo的泛化是\xrefitem

我build议的解决scheme是:

  • 在Doxyfile中:

     ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" " 
  • 在文件化的代码:

     /// \req #42 - The system shall work in any situation 

感谢mouviciel! 我已经采纳了您的解决scheme并将其扩展用于我的目的。

下面的文本进入我的Doxyfile:

 ALIASES += req{1}="\ref SRTX_\1 \"SRTX-\1\" " ALIASES += satisfy{1}="\xrefitem satisfy \"Satisfies requirement\" \"Requirement Implementation\" \1" ALIASES += verify{1}="\xrefitem verify \"Verifies requirement\" \"Requirement Verification\" \1" 

SRTX是我的项目名称,用作要求的前缀。

然后创build一个名为Requirements.dox的文件,在我的需求pipe理工具(在我的情况下是一个问题跟踪器)中提供需求ID和需求URL之间的链接。

 /** @page Requirements @section Build1 @anchor SRTX_1113 <a href="https://foo.bar.com/mantis/view.php?id=1113">SRTX-1113</a> @anchor SRTX_1114 <a href="https://foo.bar.com/mantis/view.php?id=1114">SRTX-1114</a> */ 

如果您不需要链接到外部源,则还可以将需求的文本放在锚标记中。

在我的代码中,我有:

 /** * This is the basic executive that schedules processes. * @satisfy{@req{1114}} */ class Scheduler: public Process { ... } 

在我的testing中,我说:

 /** * Provide a number of tests for process scheduling. * @verify{@req{1114}} */ class Scheduler_ut : public CppUnit::TestFixture { ... } 

这为我提供了需求,需求实现和需求validation的相关页面。 它还提供满足要求和validation要求部分的类描述(或function – 无论你把标签)。