2015-08-21 12 views
5

由於它看起來很常見,我很難相信,如果我想將頭文件中的所有doxygen註釋添加到組中,我必須做的將整個標題內容添加到Doxygen組

foo.h 
/** 
*\addtogroup fooGroup 
* @{ 
*/ 
... 
... 

... 
/**@}*/ 

有沒有辦法讓這項工作沒有@ {comment?

回答

2

簡短的回答是否定的。另一種方法是使用@ingroup命令。如果你把這個命令正下方@file命令,然後將文件引用添加到組,例如:

foo.h: 
/** 
* @file foo.h 
* @ingroup fooGroup 
*/ 
... 

這也需要您已經定義了一組與該名稱(可能是還處於不同的文件):

/** 
* @defgroup fooGroup Foo 
* @brief A brief description of the Foo component. 
* @details A more detailed description of the Foo component. 
*/ 

但最大的缺點是,你必須把@ingroup命令所需的組文件中顯示的每個實體。這意味着您必須將該命令添加到每個聲明或定義,例如枚舉,結構,變量和函數。

使用@addtogroup@{ ... @}命令有一個很大的優點,即不需要使用@ingroup命令將每個實體添加到組中。

羣體的意義在於從一個特定名稱的不同文件收集文檔。您還可以將一個文件分成不同的組,所以@ {和@}註釋定義了要添加到組名稱中的區域的開始和結束。 另一個原因是組可能會構建層次結構,例如一個文件,下面的代碼:

/** 
* @addtogroup group_name 
* @{ 
*/ 

<Code Example 1> 

/** 
* @} 
*/ 

/** 
* @addtogroup group_name_2 
* @{ 
*/ 

<Code Example 2> 

/** 
* @addtogroup sub_group_name 
* @{ 
*/ 

<Code Example 3> 

/** 
* @addtogroup sub_sub_group_name 
* @{ 
*/ 

<Code Example 4> 

/** 
* @} 
*/ 

/** 
* @} 
*/ 

/** 
* @} 
*/ 

這將導致以下組層次:

  • 組名
  • group_name_2
    • sub_group_name
      • sub_sub_group_name

你可以嘗試的唯一的事情是添加的別名\ addtogroup和{命令,如:

ALIAS += "begingroup{1} = \addtogroup \1 \{" 

但在這種情況下,你仍然要加@ }命令在文件的末尾。