本教程的测试环境
- Ubuntu 18.04 LTS
- Doxygen 1.8.13
- C++
什么是 Doxygen?
Doxygen 是一个将文件的特定注释转化为文档的工具
如何安装 Doxygen?
$ sudo apt install graphviz
$ sudo apt install doxygen
如何使用 Doxygen?
1. 查看你使用的语言 Doxygen 是否默认支持?
Doxygen 默认支持的语言有:C,C++,C#,Objective-C,IDL,Java,VHDL,PHP,Python,Tcl,Fortran 和 D
2. 生成配置文件
$ ## 生成配置文件,默认配置文件名为:Doxyfile
$ doxygen -g <config-file>
$
$ ## 生成配置文件(不含注释)
$ doxygen -s -g <config-file>
$
3. 修改配置文件
## 常见配置选项
## 设置项目编码,默认为 UTF-8
DOXYFILE_ENCODING = UTF-8
## 设置项目名称
PROJECT_NAME = "project-name"
## 设置项目版本号
PROJECT_NUMBER = "1.0.0"
## 设置项目的描述
PROJECT_BRIEF = "这是项目描述"
## 设置项目的 logo
PROJECT_LOGO = ""
## 设置输入目录,如果未设置,则在当前目录查找
INPUT = src
## 设置要匹配的输入文件
FILE_PATTERNS = *.cc *.h
## 设置不需要处理的输入目录
EXCLUDE =
## 设置不需要匹配的输入文件
EXCLUDE_PATTERNS =
## 设置输入编码,默认为 UTF-8
INPUT_ENCODING = UTF-8
## 设置是否递归搜索输入目录,默认为 NO
RECURSIVE = NO
## 设置是否提取所有类,函数等(不包括类的私有成员和静态成员),默认为 NO
EXTRACT_ALL = NO
## 设置是否提取类的私有成员,默认为 NO
EXTRACT_PRIVATE = NO
## 设置是否提取类的静态成员,默认为 NO
EXTRACT_STATIC = NO
## 设置文档是否包含源文件,默认为 NO
SOURCE_BROWSER = NO
## 设置是否对每个类都链接到其所在的头文件中,默认值为 YES
VERBATIM_HEADERS = YES
## 设置文档的输出目录
OUTPUT_DIRECTORY = doc
## 设置是否支持 Markdown,默认值为 YES
MARKDOWN_SUPPORT = YES
## 设置文档的主界面
USE_MDFILE_AS_MAINPAGE =
## 设置文档的语言,默认为 English
OUTPUT_LANGUAGE = Chinese
4. 给代码添加注释
并不是所有的注释都会被收入文档,Doxygen 支持的常用的注释风格有:
/** 注释的内容 */
/*! 注释的内容 */
## 在变量后 注释文件,类,结构体,共同体,枚举成员 或 函数参数
int a; /**< 注释的内容 */
int a; /*!< 注释的内容 */
注意: 这里并不是所有的注释风格,更多注释风格见 官网
Doxygen 常用的注释标记(标记以 / 或 @ 开头表示):
## 添加作者
@author 作者1 作者2
## 添加日期
@date 日期
## 添加文件名
@file 文件名
## 添加简单描述
@brief 简要描述
## 添加详细描述
@details 详细描述
## 添加类信息
@class 类名 类所在的文件 类所在的文件(可包括路径)
## 添加结构体信息
@class 结构体名 结构体所在的文件 结构体所在的文件(可包括路径)
## 添加宏信息
@enum 宏名
## 添加函数信息
@fn 函数信息
## 添加参数说明
@param [in] 输入参数名 说明
@param [out] 输出参数名 说明
## 添加返回说明
@return 返回说明
## 添加返回特定值说明
@retval 特定值 特定返回值说明
## 添加异常说明
@exception 异常类型 异常说明
## 添加代码
@code
...代码...
@encode
## 添加文件名说明
@headfile 文件名 文件名(可包括路径)
## 添加版本号
@version 版本号
## 添加计划做的事儿
@todo 计划做的事
## 添加参考
@see 参加其它
## 添加过时说明
@deprecated 过时说明
## 添加 bug 说明
@bug "bug 说明"
## 添加例子
@example 例子文件名
## 添加警告信息
@warning 警告信息
## 添加开始使用的版本
@since 版本
## 添加测试信息
@test 测试
## 添加主界面信息
@mainpage 标题
## 添加注意事项
@note 注意事项
## 添加协议信息
@copyright 协议信息
4. 生成文档
$ doxygen <config-file>