2009-02-11 223 views
36

我想弄清楚是否有方法使用Doxygen創建自定義標籤。我找到了ALIAS配置文件選項,但是這並不完全符合我的需要。基本上在我的代碼我希望能夠寫類似Doxygen的自定義標籤

/// \req Requirement #322 - blah blah 

再有Doxygen的創建列表像它的\bug\todo命令具有此定製標記線。這可能與Doxygen有關嗎?

+0

這似乎不適用於XML(C#)記錄樣式。 – 2012-08-14 08:35:54

回答

42

\bug\todo的推廣是\xrefitem

我建議的解決方案是:

  • 中的Doxyfile

    ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" " 
    
  • 中記錄代碼

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

非常好,我在看手冊時沒有看到。 非常感謝。 – RishiD 2009-02-11 15:53:56

19

感謝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 
<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 
{ 
    ... 
} 

而在我的測試中,我提出:

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

這讓我對需求相關的頁面,要求執行,並要求驗證。它還提供了滿足要求和驗證類描述(或功能 - 無論放置標籤的位置)中的要求部分。

+0

在「需求實現」和「需求驗證」頁面中添加上面在`INPUT =`變量中指定的`Requirements.dox`以能夠查看鏈接。 – parasrish 2017-11-08 10:27:13