如何让Doxygen生成类似枚举的紧凑表格格式#define宏定义文档
该需求完全可以实现,常用两种实现方案:
方案1:分组注释+内置表格(无侵入无需改配置,优先推荐)
将同类宏归到同一个Doxygen组中,在组注释里直接写Markdown表格,同时用@internal标记隐藏单个宏的默认独立文档:
/** * @defgroup limit_macros 阈值限制宏 * @brief 系统各类阈值常量定义 * * | 名称 | 值 | 说明 | * | ---- | -- | ---- | * | limit_0 | 1.0f | Limit 0 | * | limit_1 | 3.5 | Limit 1 | * | limit_2 | 2 | Limit 2 | * * @{ */ #define limit_0 1.0f /**< @internal */ #define limit_1 3.5 /**< @internal */ #define limit_2 2 /**< @internal */ /** @} */
默认生成公开文档时,@internal标记的注释不会对外展示,页面只会渲染你写的分组表格,和你需要的紧凑枚举样式完全一致。
方案2:自定义HTML模板(一劳永逸适合批量场景)
如果你不想修改现有代码的注释写法,可以通过修改Doxygen的渲染模板实现自动转表格:
- 执行
doxygen -w html header.html footer.html customdoxygen.css导出默认的HTML模板和样式文件 - 修改Doxyfile配置项:
HTML_HEADER = header.html、HTML_EXTRA_STYLESHEET = customdoxygen.css - 在导出的header.html中添加JavaScript逻辑,自动提取「Macro Definition Documentation」模块下的宏名称、取值、注释内容,动态替换生成你需要的表格结构即可。
内容的提问来源于stack exchange,提问作者user186299
相关产品推荐
相关产品推荐

