Doxygen的分组(Doxygen grouping)

2019-08-17 07:08发布

我有一个关于doxygen的网页和组的问题。 我有一个项目,我在那里分组类等与@defgroup和@ingroup CMDS。 到目前为止,这工作正常。

现在,我想特别文档添加到与降价的页面项目。 这些页面应该出现在专用模块(组)英寸 我试图创建一个@page和@subpage CMDS页面。 这工作正常,但页面出现在菜单中平原。

所以,我试图将它们与@ingroup添加到组。 但正如我猜测,是行不通的。 是否有可能网页添加到模块(组)?

结果应该是这样的:

Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation

我希望你能帮帮我!

Answer 1:

在描述的情况下,我们有两种类型的组文件:

  1. 从源文件文档
  2. 从降价的文件文档

我们需要为这个goups创建树结构。

例如,我们创建了2组:

  1. 在源代码文件主要应用
  2. 在文件library.md文档

(对于C ++) 主应用程序组的源代码可能如下:

/** @defgroup app Main Application */

/** @addtogroup app
  * @brief Main application description.
  *
  * @{
  */

int main() { return 0; } //do nothing

/** @} */

降价文件library.md包含简单的文字:

Library File {#library}
============

Library Page Content from library.md.

我们定义的结构,我们创建mainpage.md文件的内容:

Pages {#mainpage}
============

Content:

- @subpage library

@defgroup Library
@addtogroup Library
@copydoc library
@{
@}

@subpage在mainpage.md标签用来隐藏在树与一个根项目(页数)的所有页面。 @defgroup标签创建降价文档新组。 @copydoc从库页标签复制内容到库群。

在截图中,你可以看到结果结构:

注意, 模块的Grou p名称和名称可以是在这种情况下不同。 您还可以粘贴降价文件,内容为使用源代码文档@copydoc标签。



Answer 2:

我一直在使用@ {和@}命令来完成它,它是这样工作的 -

/**  
 * @defgroup module_name Sample Module   
 * @{   
 *     @page page_name [Optional Page Heading]   
 *     here will be the texts for the page ...    
 * @}   
 */   

如果您有模块已经定义了一些地方,可能需要改用@defgroup的@addtogroup。

希望这可以帮助。



文章来源: Doxygen grouping