Doxygen自動文檔生成工具在Eclipse中的集成及使用舉例


你有為軟件編寫說明文檔的苦惱嗎?當別人甩給你一個龐大的系統,讓你根據里面的代碼注釋理解后寫出一份完整的開發文檔,你會怎么辦?一個個的看代碼 然后耗時N天來寫嗎?這既是一份苦差事也極其耗時,有沒有更好的辦法呢?比如根據代碼注釋自動生成詳盡的說明文檔……可能有人會說用Javadoc就是 了,要是C/C++、Python、C#等語言寫的軟件呢?有沒有類似Javadoc的東西?

Yes,當然有,Doxygen就是這樣一個能滿足你需求的工具。Doxygen是一種開源跨平台的,以類似JavaDoc風格描述的文檔系統,完全支持C、C++、Java、Objective-C和IDL語言,部分支持PHP、C#。注釋的語法與Qt-Doc、KDoc和JavaDoc兼容。Doxgen可以從一套歸檔源文件開始,可將程序中的特定批注轉換成為說明文件,生成HTML格式的在線類瀏覽器,或離線的LATEX、RTF參考手冊。被Boost、OpenCasCade等諸多項目作為文檔生成工具的不二選擇

由於我主要的開發語言是Java,所以在這里主要說明Doxygen在Eclipse里的集成及使用步驟。

 

1. 安裝doxygen工具

在集成之前需要安裝doxygen工具,下載方法有兩種:目前最新版是1.8.6

(1)官方網站下載(建議):Doxygen:Downloads


 (2)在sourceforge下載:Doxygen



2.安裝doxygen在Eclipse中的插件:Eclox

建議在其官方網站下載:Eclox


 

下載eclox_0.8.0.zip后解壓,安裝插件的方法也有幾種:

1. 將eclox_0.8.0中的plugins和features目錄里的內容,移動到eclipse中的plugins和features目錄里重啟即可,最簡單。

2. 通過links方法安裝插件(建議該方法,具體可Google)。

2. 采用Eclipse里的update manager安裝插件,具體方法請看這里

注意:網上都說同時要下載eclox.update_0.8.0.zip並解壓安裝,其實完全沒必要,eclox.update_0.8.0只是版本的更新過程,里面包含的都是最新版本和歷史版本插件,而我們需要的只是最新版本的,故不需要下載此壓縮文件。


如果這兩個步驟都完成后,重啟eclipse之后,就可以發現在工具欄上多了一個@的圖標,如下圖所示,表示安裝成功。


3. 在Eclipse中配置doxygen運行環境

工具欄上 windows->preferences->Doxygen, 點擊Add,添加doxygen安裝目錄中的bin目錄,如下圖所示:


 

到此doxygen在Eclipse中的集成工作就完成了。

 

4. 使用Doxygen生成文檔過程舉例

4.1 自動生成工程的doxygen文件

首先選擇你要生成文檔的工程,

然后File->New->others....,出現下面的選擇框,選擇Other中的Doxyfile。



點擊next,配置Doxygen,定好文件的名字,點擊Finish就OK了。

當然到此還沒結束,最重要的一步還沒完成,就是自動生成doxygen文件后需要我們自己配置各個參數和選項。

4.2 配置doxygen文件參數和選項

配置Doxygen文件參數也有三種方式:


4.2.1 使用Eclipse中集成的doxygen editor進行修改

在Eclipse中打開剛剛自動生成的doxygen文件,默認的配置如下:


比如在Eclipse中我用的配置選項如下:


建議大家如果不理解各個選項,可以嘗試每個選項的生成效果,以找出自己最想要的文檔格式。


4.2.2 使用Doxygen安裝程序自帶的GUI工具

找到Doxygen的安裝目錄下的bin目錄里,如下圖所示可以看到有個GUI工具:


打開后如下圖所示:


與Eclipse中大同小異,各個參數選項慢慢琢磨吧,很簡單。


4.2.3 直接用文本編輯器進行修改

針對doxyfile可直接用文本編輯器進行編輯,建議用Notepad++或寫字板等打開,不要用無排版的記事本。

主要有以下內容需關注:

  • <OUTPUT_DIRECTORY>必須在這里提供一個目錄名,例如 /home/user1/documentation,這個目錄是放置生成的文檔文件的位置。如果提供一個不存在的目錄名,doxygen 會以這個名稱創建具有適當用戶權限的目錄。
  • <INPUT>這個標記創建一個以空格分隔的所有目錄的列表,這個列表包含需要生成文檔的 C/C++ 源代碼文件和頭文件。如果項目只有一個源代碼根目錄,其中有多個子目錄,那么只需指定根目錄並把<RECURSIVE> 標記設置為Yes
  • <FILE_PATTERNS>在默認情況下,doxygen 會搜索具有典型 C/C++ 擴展名的文件,比如.c、.cc、.cpp、.h.hpp。如果<FILE_PATTERNS> 標記沒有相關聯的值,doxygen 就會這樣做。如果源代碼文件采用不同的命名約定,就應該相應地更新這個標記。例如,如果項目使用.c86 作為C 文件擴展名,就應該在<FILE_PATTERNS> 標記中添加這個擴展名。
  • <RECURSIVE>如果源代碼層次結構是嵌套的,而且需要為所有層次上的 C/C++ 文件生成文檔,就把這個標記設置為Yes。例如,請考慮源代碼根目錄層次結構 /home/user1/project/kernel,其中有 /home/user1/project/kernel/vmm 和 /home/user1/project/kernel/asm 等子目錄。如果這個標記設置為Yes,doxygen 就會遞歸地搜索整個層次結構並提取信息。
  • <EXTRACT_ALL>這個標記告訴 doxygen,即使各個類或函數沒有文檔,也要提取信息。必須把這個標記設置為Yes
  • <EXTRACT_PRIVATE>把這個標記設置為 Yes。否則,文檔不包含類的私有數據成員。
  • <EXTRACT_STATIC>把這個標記設置為 Yes。否則,文檔不包含文件的靜態成員(函數和變量)。
  • <OUTPUT_LANGUAGE>默認 = English,文檔語言(自動生成的文字部分),可以指定為Chinese。
  • <DOXYFILE_ENCODING>默認 = UTF-8,默認編碼為UTF-8,這樣可以支持中文。
  • <PROJECT_NAME>項目名稱,多個單詞需要使用引號(“”)。
  • <PROJECT_NUMBER>項目版本號。


4.3 運行doxygen文件生成最后的文檔

配置完成后在Eclipse中點擊@插件按鈕選擇doxygen配置文件即可生成文檔了。

可以在控制台看到生成詳細過程,如果有如何配置錯誤如指定的路徑或文件不存在等,都會給出提示,按要求重新配置即可。


打開生成文檔里的index.html(如果是html格式),在瀏覽器查看,點擊各個選項查看效果如下:

主界面:

查看某個函數的界面:


更多 0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM