2015-08-21 11 views
5

Da es so eine häufige Aufgabe scheint, ist es schwer für mich zu glauben, dass, wenn ich alle doxygen Kommentare in einer Header-Datei zu einer Gruppe hinzufügen möchte, dass ich tun mussHinzufügen des gesamten Header-Inhalts zu einer Doxygen-Gruppe

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

... 
/**@}*/ 

Gibt es eine Möglichkeit, dies ohne den @ {comment?

Antwort

2

Die kurze Antwort ist nein. Eine Alternative ist die Verwendung des Befehls @ingroup. Wenn Sie diesen Befehl direkt unter dem Befehl @file setzen, dann wird die Datei Bezug zu der Gruppe hinzugefügt, zB:

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

Dies erfordert auch, dass Sie eine Gruppe mit diesem Namen definiert haben (könnten auch in einer anderen Datei sein):

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

aber der große Nachteil ist, dass Sie den @ingroup Befehl für jede Entität setzen, die Sie in der Gruppe Dokumentation angezeigt werden sollen. Dies bedeutet, dass Sie den Befehl zu jeder Deklaration oder Definition hinzufügen müssen, wie Enums, Strukturen, Variablen und Funktionen.

Die Verwendung der Befehle @addtogroup und @{ ... @} hat den großen Vorteil, dass Sie nicht jede Entität mit dem Befehl @ingroup zu der Gruppe hinzufügen müssen.

Der Sinn von Gruppen ist es, Dokumentation aus verschiedenen Dateien unter einem bestimmten Namen zu sammeln. Sie können auch eine Datei in verschiedene Gruppen aufteilen, sodass die @ {und @} Kommentare den Anfang und das Ende einer Region definieren, die zu einem Gruppennamen hinzugefügt werden soll. Ein weiterer Grund ist, dass Gruppen Hierarchien aufbauen können, z. eine Datei mit dem folgenden Code:

/** 
* @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> 

/** 
* @} 
*/ 

/** 
* @} 
*/ 

/** 
* @} 
*/ 

Diese in der folgenden Gruppenhierarchie führen würde:

  • group_name
  • group_name_2
    • sub_group_name
      • sub_sub_group_name

Das einzige, was Sie versuchen könnte, ist ein Alias ​​für den \ addtogroup hinzuzufügen und {Befehl, wie:

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

Aber in diesem Fall würden Sie noch die hinzufügen, um @ } Befehl am Ende der Datei.

Verwandte Themen