如何修改Doxygen宏与函数参数的格式化?含void参数问题
解决Doxygen宏/函数参数格式化及void参数间距问题
一、将宏/函数参数格式改为单行
要把宏和函数的参数列表从多行强制改为单行,只需在你的Doxyfile配置文件中添加或修改以下选项:
MULTILINE_PARAMETER_LISTS = NO
这个配置会禁用Doxygen自动将长参数列表拆分为多行的行为,让所有参数保持在同一行显示。比如你的示例代码:
#define ADD(a, b) a + b int add(int a, int b)
开启该配置后,Doxygen生成的文档中会直接以单行形式展示这些宏和函数的参数,同时你依然可以通过@param指令在单独章节清晰描述每个参数的作用。
二、修复void参数的奇怪间距问题
针对nop(void)这类显式使用void作为参数时出现的多余间距问题,你可以通过Doxygen的PREDEFINED配置来统一处理,在Doxyfile中添加:
PREDEFINED += "(void)=()"
这个设置会让Doxygen在预处理阶段将所有(void)替换为(),既保留了代码中显式写(void)的习惯,又能让生成的文档中显示为无多余空格的nop()格式,彻底解决间距异常的问题。
如果不想全局替换,也可以使用ALIASES定义别名来针对性处理特定函数,比如:
ALIASES += "nopfunc=nop()"
然后在文档注释中使用@nopfunc来替代直接写nop(void),不过这种方式更适合个别函数的特殊处理,全局替换的方式更高效。
内容的提问来源于stack exchange,提问作者Julius
相关产品推荐
相关产品推荐

