下图展示如何工具间的关系和工具间信息的流程
Doxygen information flow
Step 1:创建一个配置文件
Doxygen使用一个配置文件来决定所有的设置。每个工程都应有自己的配置文件。一个工程可以由单个的源文件组成,也可以是一个递归扫描的树。
为简化配置文件的创建,doxygen可以给你创建一个模板配置文件。命令行方式下使用-g参数:
doxygen -g <config-file>
参数<config-file>是配置文件的名字。如果忽略,那么将会创建一个名为Doxyfile的文件。如果名为<config-file>的文件已经存在,那么doxygen将会将其改名为<config-file>.bak。如果使用-(例如减号)作为文件名,doxgen将会从标准输入中读取这个配置文件。
配置文件很像Makeflie的文件格式。在组成上它有很多assignments (tags):
TAGNAME = VALUE or
TAGNAME = VALUE1 VALUE2 ...
所生成的模板配置文件中多数tag都可以使用缺省值。可参考Configuration这一章获得有关配置文件更详细的说明。
如果你不希望使用notepad手工编辑配置文件,那么你要研究一下doxywizard,这个exe是doxygen的GUI前台,用于读写doxygen配置文件,并可以通过对话框设置参数。对于一个只有少量C/C++文件(.h,.cpp)的工程,甚至可以在INPUT处留空,doxygen将自动在当前目录下查找源文件。(好像没什么用J)
如果是一个大工程,有个源文件目录或一个树形目录,这时就应该在INPUT中进行设置了,并在FILE_PATTERNS处添加一到多个文件pattern(例如*.cpp *.h)。只有符合pattern的文件会被分析(如果pattern未作设置,将会使用一个源文件扩展名列表)。对于递归分析源文件树,必须将RECURSIVE设置为YES(这个对于大工程是一定的了)。如果需要更进一步定制文件列表可以使用EXCLUDE和EXCLUDE_PATTERNS。举例,要忽略所有的测试工程目录,可以这样作(看来也很有用,很多时候专门建了一个include目录,这样就和工程中的文件重复了):
EXCLUDE_PATTERNS = */test/*
Doxygen通常分析C/C++源文件。如果一个文件是.idl或.odl后缀明,将会认为是IDL文件。如果是.java后缀,将会认为是一个Java文件。如果是.cs后缀,将会认为是一个C#文件。最后.php,php4,.inc或.phtml都认为是PHP文件。
如果对已有工程(使用doxygen未知的注释),可以使用EXTRACT_ALL选项。这样doxygen将尝试对源码中的所有注释进行分析。Please note that as a consequence warnings about undocumented members will not be generated as long as EXTRACT_ALL is set to YES.
有时要分析一些工程中的一部分,cross-reference源文件中的一个注释类会很有用。将SOURCE_BROWSER设置为YES,Doxygen可以生成cross-references。也可以INLINE_SOURCES设置为YES。It can also include the sources directly into the documentation by setting INLINE_SOURCES to YES (this can be handy for code reviews for instance).