1、引子html
用這兩個工具能夠自動的遍歷代碼,而且產生代碼文檔,咱們先來看看效果,而後放出這兩個工具的下載地址。app
2、工具的下載地址函數
doxygen:http://www.stack.nl/~dimitri/doxygen/download.html工具
graphviz:http://www.graphviz.org/測試
3、使用步驟ui
首先安裝doxygen,而後解壓下載好的graphviz。接着打開doxygen,按照我下面的圖示進行操做就行了。url
最後點run就能夠了。spa
附上doxygen能識別的一些註釋,這裏僅僅是比較經常使用的,不是所有。爲了說明清楚,我把註釋和代碼一塊兒貼上。.net
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"; } }
輸出的測試結果:3d
詳細的步驟圖片下載: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