我想弄清楚是否有办法使用Doxygen创建自定义标签.我确实找到了ALIAS配置文件选项,但这并不能完全满足我的需要.基本上在我的代码中,我希望能够编写类似的东西
/// \req Requirement #322 - blah blah
再有Doxygen的创建列表像它的\bug
,并\todo
具有此定制标记线命令.Doxygen可以实现吗?
的推广\bug
和\todo
为\xrefitem
.
我建议的解决方案是:
在Doxyfile中:
ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" "
在记录的代码中:
/// \req #42 - The system shall work in any situation
谢谢mouviciel!我已采用您的解决方案并将其扩展用于我的目的.
下面的文字进入我的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是我的项目的名称,并用作需求的前缀.
然后我创建了一个名为Requirements.dox的文件,该文件在我的需求管理工具(我的问题跟踪器)中提供了需求ID和需求URL之间的链接.
/** @page Requirements @section Build1 @anchor SRTX_1113 SRTX-1113 @anchor SRTX_1114 SRTX-1114 */
如果您不需要链接到外部源,也可以将需求的文本放在锚标记中.
在我的代码中,我有:
/** * This is the basic executive that schedules processes. * @satisfy{@req{1114}} */ class Scheduler: public Process { ... }
在我的测试中,我把:
/** * Provide a number of tests for process scheduling. * @verify{@req{1114}} */ class Scheduler_ut : public CppUnit::TestFixture { ... }
这为我提供了需求,需求实现和需求验证的相关页面.它还提供了满足要求和验证类描述中的需求部分(或函数 - 无论您将标记放在何处).