本教程的测试环境

  • 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>

Doxygen 参考资源

02-10 00:04