由于这似乎是一项常见的任务,我很难相信如果我想将头文件中的所有doxygen注释添加到组中,我必须这样做
foo.h
/**
*\addtogroup fooGroup
* @{
*/
...
...
...
/**@}*/
有没有办法在没有@ {comment?
的情况下完成这项工作答案 0 :(得分:3)
简短的回答是否定的。另一种方法是使用@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>
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
这将导致以下组层次结构:
您可能尝试的唯一方法是为\ addtogroup和{command添加别名,例如:
ALIAS += "begingroup{1} = \addtogroup \1 \{"
但在这种情况下,您仍然需要在文件末尾添加@}命令。