Doxygen 可以用来为项目生成帮助文档或者 SDK,输出格式可以为 HTML、CHM 等。
1 软件安装
- doxygen-1.9.1-setup.exe
- stable_windows_10_cmake_Release_x64_graphviz-install-2.47.3-win64.exe
- htmlhelp.exe
2 Doxygen 注释规范
2.1 注释格式
# 块注释
/**
......
*/# 行注释
///< ......
/** ...... */
/**< ...... */
注释命令 | 描述 |
---|---|
@brief | 概要信息 |
@details | 详细描述 |
@par | 开始一个段落,段名自定义 |
@param | 标记参数意义 |
@return | 描述返回意义 |
@retval | 描述返回值意义 |
@todo | 对将要做的事情进行注释 |
@bug | 缺陷,链接到所有缺陷汇总的缺陷列表 |
@since | 通常用来说明从什么版本、时间写此部分代码 |
@pre | 用来说明代码项的前提条件 |
@post | 用来说明代码项之后的使用条件 |
@code | 在注释中开始说明一段代码,直到@endcode命令 |
@endcode | 注释中代码段的结束 |
@fn | 函数说明 |
@include | 包含文件 |
@var | 标注变量 |
@enum | 标注枚举 |
@struct | 标注结构体 |
@class | 标注类 |
@note | 描述一些注意事项 |
@addtogroup | 添加到一个组 |
2.2 自动注释模板(VSCode settings.json 配置)
{// Doxygen documentation generator set// 文件注释:版权信息模板"doxdocgen.file.copyrightTag": ["@copyright Copyright (c) {year} by 李云亮"],// 文件注释:自定义模块,这里我添加一个修改日志"doxdocgen.file.customTag": ["@par 修改日志:","<table>","<tr><th>Date <th>Version <th>Author <th>Description","<tr><td>{date} <td>1.0 <td>李云亮 <td>内容","</table>",],// 文件注释的组成及其排序"doxdocgen.file.fileOrder": ["file", // @file"brief", // @brief 简介"author", // 作者"version", // 版本"date", // 日期"empty", // 空行"copyright",// 版权"empty", // 空行"custom" // 自定义],// 下面时设置上面标签tag的具体信息"doxdocgen.file.fileTemplate": "@file {name}","doxdocgen.file.versionTag": "@version 1.0","doxdocgen.generic.authorEmail": "1144626145@qq.com","doxdocgen.generic.authorName": "李云亮","doxdocgen.generic.authorTag": "@author {author} ({email})",// 日期格式与模板"doxdocgen.generic.dateFormat": "YYYY-MM-DD","doxdocgen.generic.dateTemplate": "@date {date}",// 根据自动生成的注释模板(目前主要体现在函数注释上)"doxdocgen.generic.order": ["brief","tparam","param","return"],"doxdocgen.generic.paramTemplate": "@param{indent:8}{param}{indent:25}MyParamDoc","doxdocgen.generic.returnTemplate": "@return {type} ","doxdocgen.generic.splitCasingSmartText": true,"[json]": {"editor.quickSuggestions": {"strings": true},"editor.suggest.insertMode": "replace"},
}
2.3 手动注释模板
2.3.1 文件注释模板
/*** @file 文件名* @brief 文件概要信息描述* @author 作者* @version 版本* @date 日期* * @copyright 版权信息* * @par 修改日志:* <table>* <tr><th>Date <th>Version <th>Author <th>Description* <tr><td>日期 <td>版本 <td>作者 <td>说明* </table>*/
2.3.2 函数注释模板
/*** @brief 函数功能概要信息* @param[in] 输入参数 输入参数描述信息* @param[out] 输出参数 输出参数描述信息* @return 返回类型 * @retval 返回值 返回值意义描述信息 */
3 使用教程
3.1 Doxygen Wizard Project
3.2 Doxygen Wizard Mode
3.3 Doxygen Wizard Output
3.4 Doxygen Wizard Diagrams
3.5 Doxygen Expert Project
3.6 Doxygen Expert HTML
3.7 Doxygen Expert Dot
4 生成效果
HTML 网页效果
CHM 文档效果
文章作者:GentleTK
原文链接:https://gentletk.gitee.io/Doxygen使用教程