一、引子
用這兩個工具可以自動的遍歷代碼,並且產生代碼文檔,我們先來看看效果,然后放出這兩個工具的下載地址。



二、工具的下載地址
doxygen:http://www.stack.nl/~dimitri/doxygen/download.html
graphviz:http://www.graphviz.org/
三、使用步驟
首先安裝doxygen,然后解壓下載好的graphviz。接着打開doxygen,按照我下面的圖示進行操作就好了。






最后點run就可以了。
附上doxygen能識別的一些注釋,這里僅僅是比較常用的,不是全部。為了說明清楚,我把注釋和代碼一起貼上。
package com.example.kale.myapplication; /** * Created by Jack Tony on 2015/4/3. * @brief 這個類是做什么的 */ public class TestClass { /// 枚舉 enum TYPE { TYPE_01,/*!< 枚舉項01 */ TYPE_02,///< 枚舉項02 }; /** * * <pre><b>copyright: kale</b></pre> * <pre><b>email: </b>developer_kale@qq.com</pre> * <pre><b>company: </b>http://www.cnblogs.com/tianzhijiexian/</pre> * <pre><b>All rights reserved.</b></pre> * @see 參考項 http://www.cnblogs.com/tianzhijiexian/ * @brief 方法的簡單說明 * @author 作者的信息 * @date 2011/8/24 8:37:56 * @version 0.1 * @retval c 描述返回值的類型 * @note 注解,可以是詳細的注解 * @remarks 備注事項(remaks) * @attention 注意事項(attention) * @warning 警告信息 * @param a 參數a的說明 * @param b 參數b的說明 * @return 本函數返回執行結果 * * @throws Exception */ public String testFunction(int a, String b) throws Exception{ return "hello world"; } }
輸出的測試結果:


詳細的步驟圖片下載:http://download.csdn.net/detail/shark0017/8564357
下面的詳細說明轉自:http://blog.chinaunix.net/uid-23670869-id-2948890.html
Project頁面,主要包括項目的基本配置。
TAB_SIZE 主要是幫助文件中代碼的縮進尺寸,譬如@code和@endcode段中代碼的排版,建議符合習慣,設置成4。
OPTIMIZE_OUTPUT_FOR_C 這個選項選擇后,生成文檔的一些描述性名稱會發生變化,主要是符合C習慣。如果是純C代碼,建議選擇。
SUBGROUPING這個選項選擇后,輸出將會按類型分組。
Build頁面,這個頁面是生成幫助信息中比較關鍵的配置頁面
EXTRACT_ALL 表示輸出所有的函數,但是private和static函數不屬於其管制。
EXTRACT_PRIVATE 表示輸出private函數。
EXTRACT_STATIC 表示輸出static函數。同時還有幾個EXTRACT,相應查看文檔即可。
HIDE_UNDOC_MEMBERS 表示那些沒有使用doxygen格式描述的文檔(函數或類等)就不顯示了。當然,如果EXTRACT_ALL被啟用,那么這個標志其實是被忽略的。
INTERNAL_DOCS 主要指是否輸出注解中的@internal部分。如果沒有被啟動,那么注解中所有的@internal部分都將在目標幫助中不可見。
CASE_SENSE_NAMES 是否關注大小寫名稱,注意,如果開啟了,那么所有的名稱都將被小寫。對於C/C++這種字母相關的語言來說,建議永遠不要開啟。
HIDE_SCOPE_NAMES 域隱藏,建議永遠不要開啟。
SHOW_INCLUDE_FILES 是否顯示包含文件,如果開啟,幫助中會專門生成一個頁面,里面包含所有包含文件的列表。
INLINE_INFO 如果開啟,那么在幫助文檔中,inline函數前面會有一個inline修飾詞來標明。
SORT_MEMBER_DOCS 如果開啟,那么在幫助文檔列表顯示的時候,函數名稱會排序,否則按照解釋的順序顯示。
GENERATE_TODOLIST 是否生成TODOLIST頁面,如果開啟,那么包含在@todo注解中的內容將會單獨生成並顯示在一個頁面中,其他的GENERATE選項同。
SHOW_USED_FILES 是否在函數或類等的幫助中,最下面顯示函數或類的來源文件。
SHOW_FILES 是否顯示文件列表頁面,如果開啟,那么幫助中會存在一個一個文件列表索引頁面。
Messages頁面主要用來設置編譯時的輸出信息選項。編譯時的輸出信息,主要可以用來提醒一些輸入的錯誤語法。
QUIET 如果開啟,那么表示關閉編譯時的輸出信息。
WARN_FORMAT 表示日志輸出的格式,沒必要修改。
WARN_LOGFILE 表示信息是否輸出到LOG文件,因為有DoxyWizard的存在,所以這個選項沒有必要使用。
HTML頁面
CHM_FILE 表示輸出的chm文件路徑
GENERATE_CHI 表示索引文件是否單獨輸出,建議關閉。否則每次生成兩個文件,比較麻煩。
TOC_EXPAND 表示是否在索引中列舉成員名稱以及分組(譬如函數,枚舉)名稱。
這個頁面關系到生成chm的問題,不過很多選項很簡單,一看便知。
Preprocessor 頁面是預處理頁面,里面也有一些配置,但是個人感覺使用默認就行了。其他的幾個頁面,基本上都要依賴於某些其他第三方的模塊,盡管有些doxygen自帶了,但是其詳細說明,還得考讀者自行研究。
同時附上常用的doxygen命令列表。注意doxygen的注解命令主要分成doxygen自建命令,HTML命令方式和XML命令方式。所有的命令都是以'\'或者'@'字符開頭,這表明如果你的注釋中有'\'開頭的單詞,你必須要修改成'\\'。
由於doxygen命令比較多,另外就是doxygen的幫助文檔也是非常完善,所以,這里僅僅列舉幾個常用的命令,其他命令請自行參考幫助文件。
@addtogroup 添加到一個組。
@brief 概要信息
@deprecated 已廢棄函數
@details 詳細描述
@note 開始一個段落,用來描述一些注意事項
@par 開始一個段落,段落名稱描述由你自己指定
@param 標記一個參數的意義
@code .. @endcode 包含一段代碼
@fn 函數說明
@ingroup 加入到一個組
@return 描述返回意義
@retval 描述返回值意義
@include 包含文件
如何像MSDN那樣在左邊的樹中顯示函數列表?
打開[Expert...]的HTML頁面,然后選中TOC_EXPAND即可。
參考自:
http://blog.csdn.net/liuxuezong/article/details/6713807
http://www.cnblogs.com/homezzm/archive/2013/07/02/3166602.html
http://wenku.baidu.com/link?url=XtIQOfIvSriE9_MWDqhxsPfxm9OAVpCwcwkLunBVIr7Im9FVKBy9ZB2-ZdjiSpT0obgs8Gh12NXVs02oRJ54Sj3_S_N-UleYoFAAIf29XcG
http://www.xjtudll.cn/Exp/245/
http://blog.chinaunix.net/uid-23670869-id-2948890.html
