如何在Doxygen中隐藏函数签名(参数)及全部函数签名?
如何在Doxygen中隐藏函数签名(参数)?
我来给你梳理几个实用的方法,不管是隐藏单个函数的参数,还是全局隐藏所有函数的参数签名都能搞定:
全局隐藏所有函数的参数签名(最推荐)
如果你需要一次性隐藏所有函数的参数,直接修改Doxygen的配置文件Doxyfile就可以了:
- 找到
SHOW_PARAMETERS这个配置项,默认它的值是YES; - 把它改成
NO,然后重新生成文档。
这样生成的所有文档里,函数的参数列表都会被完全隐藏,一步到位解决你的需求。
隐藏单个函数的参数签名
如果只是想隐藏特定函数的参数,而不影响其他函数,可以用下面两种方式:
方法1:用@fn命令手动指定显示内容
在函数的注释块里,用@fn命令只写出函数名,不包含参数。比如:
/** * @brief 这是一个用于数据处理的工具函数 * @fn dataProcessor() */ void dataProcessor(int inputSize, const char* data);
Doxygen生成文档时,会按照@fn里定义的内容显示,也就是只显示dataProcessor(),不会带出后面的参数。
方法2:利用预处理宏隐藏参数
你可以在Doxyfile里定义一个预处理宏,比如:
PREDEFINED = HIDE_PARAMS
然后在代码里把函数的参数用这个宏包裹:
/** * @brief 示例函数 */ void sampleFunction(HIDE_PARAMS int a, char b);
同时在你的代码头文件里(或者只给Doxygen用的宏定义里),把HIDE_PARAMS定义成空:
#define HIDE_PARAMS(...)
这样Doxygen在解析时会自动忽略被宏包裹的参数部分,达到隐藏的效果。
进阶:修改HTML模板(针对HTML输出)
如果你的文档是HTML格式,还可以通过修改Doxygen的HTML模板来全局隐藏参数。找到Doxygen安装目录下的html模板文件夹,找到负责渲染函数参数的模板片段(比如function.dox或者对应的HTML模板文件),把渲染参数列表的部分注释掉或者删除即可。不过这个方法需要你对Doxygen的模板结构有一定了解,适合有定制需求的场景。
内容的提问来源于stack exchange,提问作者Avi Nehori
相关产品推荐
相关产品推荐

