使用Doxygen生成C#幫助文檔


一. 什么是Doxygen?

Doxygen 是一個程序的文件產生工具,可將程序中的特定批注轉換成為說明文件。通常我們在寫程序時,或多或少都會寫上批注,但是對於其它人而言,要直接探索程序里的批注,與打撈鐵達尼號同樣的辛苦。大部分有用的批注都是屬於針對函式,類別等等的說明。所以,如果能依據程序本身的結構,將批注經過處理重新整理成為一個純粹的參考手冊,對於后面利用您的程序代碼的人而言將會減少許多的負擔。不過,反過來說,整理文件的工作對於您來說,就是沉重的負擔。
Doxygen 就是在您寫批注時,稍微按照一些它所制訂的規則。接着,他就可以幫您產生出漂亮的文檔了。
因此,Doxygen 的使用可分為兩大部分。首先是特定格式的批注撰寫,第二便是利用Doxygen的工具來產生文檔。

二. 准備軟件

2.1 doxygen

官網:http://www.doxygen.nl/

下載地址:http://www.stack.nl/~dimitri/doxygen/download.html

image

2.2 graphviz

官網:http://www.graphviz.org/content/dot-dotexe

注:這個軟件不是必需的,如果需要使用更強大的功能比如類繼承體系圖等則需要安裝此軟件配置使用,需要安裝Java環境
下載地址:http://www.graphviz.org/Download_windows.php

image

 

2.3 Microsoft HTML Help Workshop

chm文件制作工具

三個軟件

三. C#注釋

<Summary> 對整體進行概要性描述
<summary>Description</summary>
類、屬性(不推薦)、方法等 
 
<para> 跟在Summary之后,對方法所涉及的入口參數進行有效的解釋
<param name=username>本參數是用戶的帳號</param>
方法的入口參數; 
 
<returns> 對方法的返回值進行解釋;
<returns>返回值零代表操作成功,-1代表操作不成功</returns>
方法的返回值; 
 
<remarks> 對一些語句進行備注性描述
<remarks>本類需要調用另外一個User類相關方法</remarks>
類、方法、屬性等; 
 
<see> 在生成的文檔中產生一個連接到其它描述的超鏈接;
<see cref=”[member]”/>
可以在其它注釋標識符中加入 
 
<seealso> 與上者的區別是本標識符顯示超鏈接在一個文檔的尾部的“See Also”區域,而前者在文檔之中;
<seealso cref=”[member]”/>
不可以在其它注釋標識符中加入 
 
<value> 對一個屬性進行概要性解釋;
<value>這是一個public屬性</value>
屬性 
 
<code> 如果需要置入一部分源代碼段,可以使用本標識符將其標記出來
<code>
public int add(int a,b)
{
return a+b;
}
</code>
可以在其它注釋標識符中加入 
 
<exception> 對程序中可能拋出的異常做解釋;
<exception cref=”System.Exception>拋出的異常情況</exception>
在方法當中如果有拋出異常,如“try…catch結構”時可以使用本標識符做解釋 
 
<permission> 對方法的訪問權限做一些解釋:
<permission cref=”System.Security.PermissionSet>這是公共方法</permission>
方法,屬性 
 
<c><code>標識符基本相同,但本標識符僅用於單行代碼;
<c>return a+b;</c>
可以在其它標識符中插入使用; 
 
<example> 舉例說明,通常與<code>配套使用;
<example> 以下示例說明如何調用Add方法:
<code>
class MyClass
{
public static int Main()
{
return Add(1+2);
}
}
</code>
</example>
可以在其它標識符中插入; 
 
<paramref> 在其它地方引用一個入口參數
<paramref cref=”a>請注意,這是一個整型參數</paramref> 

四. 配置

4.1 Doxygen工作目錄

請選擇一個已存在的非中文路徑的文件夾,如下圖:

image

4.2 Wizard 向導

      4.2.1 Project 項目

image

      4.2.2 Mode 模式

image

 

      4.2.3 Output 輸出

將With search function的鈎去掉

image

plain HTML,為下圖一,with navigation panel為下圖二

image   image

      4.2.4 Diagrams 圖表

image

(Use built-in class diagram generator)將使用內置的生成功能生成每個類的類圖,只有一個類是不為生成的。

如果需要更加大的功能比如類繼承體系圖請選擇第三項(Use dot tool from the GraphViz package)需要安GraphViz。

4.3 Export 導出

      4.3.1 Project  項目

OUTPUT_LANGUAGE選擇chinese TAB_SIZE是Tab的長度

image

image

      4.3.2 Build 構建

默認是會生成public方法,這里也選擇EXTRACT_ALL。它保證輸出所有public方法及project方法,EXTRACT_STATIC是生成靜態方法。

 

image

      4.3.3 Input 輸入

Input為輸入目錄,支持多個目錄,我們可以放入項目目錄和include目錄,下面的Exclude是忽略目錄與文件,可自行添加。

image

      4.3.4 Index 索引

選擇ALPHABETICAL_INDEX,類中將有一個組合類型索引項。

image

生成的索引如下圖所示

image

      4.3.5 HTML

如果你之前選擇了(prepare form compressed HTML(.chm))這里抽GENERATE_HTMLHELP項會是選擇狀態,它下面的CHM_FILE填寫你的CHM文檔的名字(要加上.chm)。HHC_LOCATION則選擇你的HTML Help WorkShop安裝目錄下的HHC程序,一般會在C:/Program Files (x86)/HTML Help Workshop/hhc.exe。選擇TOC_EXPAND會生成左邊的樹目錄。

image

      4.3.6 Dot

如果你選用內置的生成功能(Use build-in class diagram generator)此時CLASS_DIAGRAMS會是選擇狀態,而HAV_DOT是未選擇狀態,如果你選擇用GraphViz的dot工具生成(Use dot tool from the GraphViz package)情況則相反,請你選擇上CLASS_DIAGRAMS。此時你需要設置下面的DOT_PATH為GraphViz的安裝目錄,否則將無法生成。

另外以下選項選擇則生成對應的圖,不選擇則不生成。

CLASS_GRAPHS                   類圖

COLLABORATION_GRAPH      協作圖

GROUP_GRAPHS                   組圖

UML_LOOK                           是否UML外觀

INCLUDE_GRAPH                   include

INCLUDED BY GRAPH             被include

CALL_GRAPH                        調用

CALLER_GRAPH                    被調用

DIRECTORY_GRAPH               目錄圖

GRAPHICAL_HIERARCHY        繼承體系圖

image

五.Run 運行

配置好后中進入Run選項卡單擊 Run Doxygen 即開始生成,等待生成完畢后點擊 “Show HTML output

image

六.HTML效果圖

 

image 

imageimage

image

七.CHM效果圖

imageimage

分享一下我的Doxygen配置文件:http://pan.baidu.com/s/1hqh5Clm

八.提醒

提醒一下,如果是WIN8的操作系統,建議設置dot的兼容性,並以管理員身份運行,否則一直會彈出dot停止運行的警告框

image


免責聲明!

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



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