Doxygen使用心得

程序员很多时候都在阅读代码,平时可以在Emacs这样的编辑器中读代码,但有时候在网页上浏览代码也很有乐趣,比如在iPad的Safari里。

Doxygen 本来是一个文档工具,但是用来阅读代码也很给力。Doxygen 在生成文档的时候,我建议对每一个项目维护一份配置文件。为了避免手动编写这个配置文件,有人写了一个图形化的配置工具,在 ubuntu 下可以直接从源里安装:

$ sudo aptitude install doxygen-gui

另外,推荐同时安装 graphviz,这样doxygen可以使用dot工具生成类的调用关系图,非常利于阅读代码。

装完之后,运行 doxywizard,就可以在GUI里设置项目参数。

根据使用经验,需要配置这些内容:

Project

设置输出目录

OUTPUT_DIRECTORY       = /home/www/proj

不要输出完整的文件名,只要保证唯一就可以了

FULL_PATH_NAMES        = NO

用typedef的名字替代原来的结构名

TYPEDEF_HIDES_STRUCT   = YES

Build

解析出所有的语法结构,否则没有documented过的结构是不解析出来的。

EXTRACT_ALL            = YES

在导出的文档中显示源代码的目录结构

SHOW_DIRECTORIES       = YES

Input

设置源代码的目录,空格分隔多个目录

INPUT                  = /home/jqian/src/proj1 \
                         /home/jqian/src/proj2

设置你想解析的文件后缀,可以使用通配符 *,空格分隔多种文件类型

FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cpp \
                         *.java \
                         *.h \
                         *.hh \
                         *.hpp \
                         *.php \
                         *.inc \
                         *.py

递归解析INPUT的子目录内容

RECURSIVE              = YES

去掉不需要解析的子目录,比如那些build目录和cvs目录等等,可以使用通配符 *,空格分隔多个目录

EXCLUDE_PATTERNS       = */linuxR_x86/* \
                         */AMD64/* \
                         */solaris/* \
                         */CVS/*

Source Browser

设置显示高亮过的源代码,因为我们本来就是希望用doxygen来阅读代码的

SOURCE_BROWSER         = YES

在文档中同样显示源代码片段

INLINE_SOURCES         = YES

列出函数reference信息

REFERENCED_BY_RELATION = YES

列出函数调用信息

REFERENCES_RELATION    = YES