如何配置Doxygen识别并收录//开头的普通注释块
Doxygen 识别普通多行
// 注释块的配置方案 你现在用的是不带Doxygen专用标记的普通C行注释块,格式为:
// // ... 注释文本 ... //
按下面的规则修改Doxyfile配置,就能让Doxygen正常识别、收录这类注释作为对应代码实体的文档:
- 基础适配项
- 把
OPTIMIZE_OUTPUT_FOR_C设为YES:针对C语言做解析优化,避免把C语法按C++规则误判。 - 把
EXTRACT_ALL设为YES:强制Doxygen提取所有代码实体的关联注释,不会因为注释没带专用Doxygen前缀就直接跳过。
- 把
- 核心识别配置
Doxygen默认只认/** */、/*! */、///、//!这类带特殊标记的注释块,普通双斜杠//默认会被当成普通代码注释忽略,所以需要加一个轻量输入过滤器,在解析前自动把这类注释的前缀替换成Doxygen可识别的三斜杠标记:- 把
INPUT_FILTER设为sed -e 's|^//$|///|' -e 's|^// |/// |':这个规则只会匹配两种行做替换:单独成行的//(也就是你注释块的首尾分隔行)、开头为//带空格的注释内容行,不会干扰代码里其他位置的行内//注释。 - 把
FILTER_PATTERNS设为*.c,*.h:指定过滤器只处理C源文件和头文件,不影响其他类型文件。 - 把
FILTER_SOURCE_FILES设为YES:开启源文件输入过滤,让上面配置的过滤器生效。
- 把
- 可选优化项
- 把
MULTILINE_CPP_IS_BRIEF设为NO:连续的多行注释会全部作为详细描述,不会把第一行强行识别为简介就截断后续内容。 - 把
JAVADOC_AUTOBRIEF设为NO:关闭Javadoc风格的自动简介截断,适配你现在用的自由格式注释。
- 把
如果你在Windows环境下没有sed命令,换用等效的PowerShell命令或者简单Python脚本实现同样的前缀替换逻辑就行,核心就是在Doxygen解析源文件前,给这类块注释的每一行前补上第三个斜杠,变成Doxygen默认支持的
///注释格式。
内容的提问来源于stack exchange,提问作者mara004
相关产品推荐
相关产品推荐

