如何在Doxygen中将独立@page页面归入顶层树分组?
解决Doxygen中独立@page文档的分组显示问题
要把ICD1、ICD2、ICD3这三个独立@page文档归入「Interface Control Documents」顶层树项,核心是用组(group)机制把页面和顶层分组绑定,具体步骤如下:
1. 定义顶层分组
创建一个单独的头文件(比如icd_group.h),用来定义顶层分组:
/** * @defgroup interface_docs Interface Control Documents * @brief 所有接口控制文档的统一顶层分组 */
这个文件只需要定义分组,不需要其他内容,确保Doxygen能扫描到它。
2. 将每个ICD页面关联到顶层分组
在每个ICD对应的.h文件里,用以下两种方式之一把页面绑定到分组:
方式一:用@addtogroup包裹页面
以icd1.h为例:
/** * @file icd1.h * @addtogroup interface_docs * @{ */ /** * @page icd1 ICD1 接口控制文档 * 这里是ICD1的具体文档内容 */ /** @} */
@{和@}用来标记当前文件中属于这个组的内容范围,这样整个@page会被归入interface_docs组。
方式二:直接在@page后加@ingroup
同样以icd1.h为例:
/** * @file icd1.h * @page icd1 ICD1 接口控制文档 * @ingroup interface_docs * 这里是ICD1的具体文档内容 */
这种写法更简洁,直接把当前@page关联到指定分组。
关键注意点
- 顶层分组的
@defgroup只需要定义一次,不要在多个文件中重复定义 - 不要用
@subpage:它是用来创建页面间的内容跳转层级,不是树菜单的分组 - 生成文档前建议清理Doxygen的输出目录和缓存,避免旧配置干扰显示效果
这样设置后,Doxygen生成的树菜单里就会出现「Interface Control Documents」顶层项,展开后就能看到ICD1、ICD2、ICD3三个独立页面,不会再和其他项同级显示。
内容的提问来源于stack exchange,提问作者steveo225
相关产品推荐
相关产品推荐

