doxygen1.6.1參數

軟件版本:1.6.1

各參數含義:

一、項目相關的配置選項

(1)DOXYFILE_ENCODING = utf-8

這個標籤指定在配置文件中使用的所有字符的編碼。默認值utf-8也是這個標籤出現之前文本的默認字符編碼;

(2)PROJECT_NAME  = test

這個標籤是一個單詞,或者是用雙引號引起來的一串字符

(3)PROJECT_NUMBER         = 1.0

相當於項目版本,如果正在使用某版本控制系統或者使用已有文檔的項目號,那會很方便填入該值。

(4)OUTPUT_DIRECTORY       = /home/hz/docs

這個標籤用來指定輸出文件所在的路徑(絕對或相對路徑),如果留空,則爲當前使用的文件夾。

(5)CREATE_SUBDIRS         = NO

如果這個標籤被設置成yesdoxygen會在輸出目錄下產生4096個子目錄,這些文件夾分兩個層次分佈於每種輸出格式的輸出文件夾中,並存放生成的文件。當需要給 Doxygen輸入大量源文件時,特別是需要源文件與生成的文件置於同一個文件夾中時,打開這個開關非常有用,否則將會導致文件系統性能的下降。

(6)OUTPUT_LANGUAGE        = Chinese

輸出語言標籤用於指定Doxygen生成文檔時所使用的語言種類。Doxygen將使用此信息以恰當的語言生成所有內容。默認的語言是English

(7)BRIEF_MEMBER_DESC      = YES

如果 BRIEF_MEMBER_DESC標籤設置爲YES(默認值),Doxygen將在文件文檔所列的成員後面加上成員主要描述信息。這個功能類似於JavaDoc;設置爲NO可以關閉這個開關。

(8)REPEAT_BRIEF           = YES

如果 REPEAT_BRIEF標籤設置爲YES(默認值),Doxygen將在成員或函數的詳細描述之前加上主要描述信息。注意:如果 HIDE_UNDOC_MEMBERS BRIEF_MEMBER_DESC 都設置爲NO,那麼主要描述信息將被自動去掉。

(9)ABBREVIATE_BRIEF       =

該標籤實現了對主要描述信息的一定程度上的智能化縮略功能,用於自動生成不同列表中的文本。在列表中的字符串,如果在主要描述信息開頭部分被找到,那麼該字符串將從信息中剔除,整個列表處理後的結果被視爲註釋文本。否則,主要描述信息則不會被縮略。如果該項留空,那麼下面的值會被使用:"The $name class" "The $name widget" "The $namefile" "is" "provides" "specifies" "contains" "represents" "a" "an" "the",其中 "$name" 會被自動替換爲實際名稱。

(10)ALWAYS_DETAILED_SEC    = NO

如果 ALWAYS_DETAIED_SEC REPEAT_BRIEF 均設置爲 YES,那麼Doxygen將生成一個詳細描述部分,即使是隻有主要描述部分。

(11)INLINE_INHERITED_MEMB  = NO

如果 內聯繼承成員 標籤設置爲 YESDoxygen將在類文檔中顯示所有該類的子成員,就好像這些成員是普通類成員一樣。但基類的構造函數、析構函數和賦值運算符不會被顯示。

 

(12)FULL_PATH_NAMES        = YES

如果完全路徑名稱標籤設置爲 YES,那麼 Doxygen 將在文件列表及頭文件中的文件名前增加完全路徑。如果設置爲 NO,那麼將會使用最短路徑,只要文件名稱不重複即可。

(13)STRIP_FROM_PATH        =

如果完全路徑名稱設置爲YES,那麼 STRIP_FROM_PATH標籤可以被用來剔除路徑中用戶定義(隱私?)部分。只要路徑名左端含有某個指定的字符串,剔除就會起作用。該標籤可被用來顯示文件列表中的相對路徑。如果留空,那麼doxygen的運行路徑將被用來作爲剔除字符串。

(14)STRIP_FROM_INC_PATH    =

STRIP_FROM_INC_PATH標籤可以剔除類文檔中提及到的用戶定義的路徑部分,這部分路徑主要是告訴讀者使用類時需要include哪個頭文件。如果該標籤留空,那麼只顯示頭文件的名字,那樣的話,用戶需要在編譯時使用 -l 標誌告訴編譯器頭文件的路徑。

(15)SHORT_NAMES            = NO

如果SHORT_NAMES設置爲 YESDoxygen將生成較短的文件名,可能造成可讀性差。這個設置在不支持長文件名的DosMacCD-ROM文件系統中較爲有用。

(16)JAVADOC_AUTOBRIEF      = NO

如果該項設置爲YES,那麼Doxygen將把JavaDoc-型註釋語句的第一行(直到遇到第一個點號爲止)作爲主要描述使用。如果設置爲NO,那麼JavaDoc註釋將作爲通用的Qt-型註釋發揮作用(這需要顯式使用 @brief 命令確定主要描述部分)。

(17)QT_AUTOBRIEF           = NO

如果該項設置爲YES,那麼Doxygen將把Qt-型註釋語句的第一行(直到遇到第一個點號爲止)作爲主要描述使用。如果設置爲NO,那麼該註釋將作爲通用的Qt-型註釋發揮作用(這需要顯式使用 /brief 命令確定主要描述部分)。

(18)MULTILINE_CPP_IS_BRIEF = NO

該標籤設置爲YES,可以讓 DoxygenC++中註釋模塊視爲主要描述,例如 //! /// 開頭的註釋語句。之前YES是默認值,新的默認值(NO)把C++多行註釋模塊視爲詳細描述。

(19)INHERIT_DOCS           = YES

如果該標籤設置爲YES(默認值),那麼未進入文檔的成員將在文檔方面同樣繼承它所重新實現的成員文檔。

(20)SEPARATE_MEMBER_PAGES  = NO

如果該項設置爲YES,那麼Doxygen將爲每個成員生成新的頁面。如果設置爲NO,成員文檔將成爲 file/class/namespace 所包含的一部分。

(21)TAB_SIZE               = 4

Tab尺寸標籤將被用來設置一個標籤的空間數值。

(22)ALIASES                =

該標籤可以指定文檔中命令的數量,別名格式爲“name=value”。比如增加“sideeffect=/par SideEffects:/n”將允許你在爲文檔中置入命令/sideeffect 或者@sideeffect ,該命令可以生成帶有“SideEffects”的用戶定義的段落。注意:如上,你可以增加 /n 以插入新行。

(23)OPTIMIZE_OUTPUT_FOR_C  = NO

如果你的項目僅包含C語言代碼,那麼應該設置該標籤爲YESDoxygen將使輸出結果更適合於C語言。例如,有些命名可能會不同,成員列表可能會忽略等等。

(24)OPTIMIZE_OUTPUT_JAVA   = NO

如果你的項目僅包含Java語言代碼,那麼設置該標籤爲YESDoxygen將使輸出結果更適合於Java語言。例如,命名空間將以包的形式表示,合法範圍也會略有不同等等。

(25)EXTENSION_MAPPING      =

doxygen 選擇解析器取決於它要解析文件的擴展名。使用這個標籤你可以特定擴展名的文件指定特定的分析器。

doxygen有內建的映射,但是使用這個標籤你可覆蓋或擴散它。

格式就是ext=language, ext就是文件的擴展名了,語言就是doxygen解析器所支持語言:IDL, Java, Javascript, C#, C, C++, D, PHP,

Objective-C, Python, Fortran, VHDL. 比如你要把.inc文件作爲Fortran文件(它默認是PHP文件),或者把.f文件作爲C語言文件(默認是Fortran文件)

你可以這樣用:inc=Fortran f=C. 注意使用自定義擴展你還要指定FILE_PATTERNS否則doxygen是不會讀它們的。

(26)BUILTIN_STL_SUPPORT    = NO

如果你使用標準模版庫類,如 std::string, std::vector等,但又不想作爲輸入包含STLtag文件)源代碼,那麼你應該設置該標籤爲YES,以使Doxygen能夠在聲明函數或定義時匹配包含STL類參數(如,func(std::string))及 func(std::string){}。這也會使涉及STL類的繼承圖和協作圖更完整和精確。

(27)CPP_CLI_SUPPORT        = NO

如果你使用微軟的 C++/CLI 語言,你應該設置該標籤爲YES以使其能夠被支持。

(28)SIP_SUPPORT            = NO

如果你的項目僅包含sip源碼,要把這個標籤置爲yesDoxygen會像解析正常的C++一樣解析它們,但會把沒有明確說明繼承關係的類默認爲公有而不是私有繼承。

(29)IDL_PROPERTY_SUPPORT   = YES

對於微軟的接口定義語言來說,對於每一個屬性都有一個propgetpropput屬性表明它的gettersetter方法。

把這個標籤置爲yes(默認值)doxygen會在文檔中用屬性去代替getset方法。這也只會在方法確實是在獲取或設置一個簡單類型的時候有效。如果不是這種情況,或者你想顯示這個方法,你就應該把這個標籤置爲NO

(30)DISTRIBUTE_GROUP_DOC   = NO

如果文檔中需要使用成員分組同時該標籤設置爲YES,那麼Doxygen將爲其他成員重複使用分組中第一個成員的文檔(如果有)。默認情況下,分組中所有成員都必須被明確地加入到文檔中。

(31)SUBGROUPING            = YES

如果設置子分組標籤爲YES(默認值),即允許相同類型的類成員組被放置在一個類型的子分組中,比如一組公共函數。如果設置爲 NO即阻止子分組的出現,當然也可以使用 /nosubgrouping 命令實現。

(32)TYPEDEF_HIDES_STRUCT   = NO

對於使用 typedef 定義的結構體、枚舉、聯合等數據類型,只按照 typedef 定義的類型名進行文檔化。

(33)SYMBOL_CACHE_SIZE      = 0

SYMBOL_CACHE_SIZE決定了用於把哪些符號駐存在內存中哪些刷新到硬盤裏的內部緩存大小。

當緩存滿的時候,不經常使用的符號就會被寫到磁盤裏。對於中小型項目(小於1000個源代碼文件)

默認大小就夠了。對於大型項目,太小的緩存大小會致使doxygen忙於與磁盤交換符號從而導致性能

下降。

如果系統有足夠大的物理內存增大緩存大小會使這些符號常駐於內存從而改善性能。注意這個值是對數

級的,將它加1意味着會使原來的緩存增加兩倍。緩存大小的計算方法是:

2^(16+SYMBOL_CACHE_SIZE)。有效範圍是09,默認值是0,相當於65536個符號緩存的大小。

二、  創建相關的配置選項

(1)EXTRACT_ALL            = NO

如果這個標籤被設置爲yesdoxygen會將把將文件中的所有實體文檔化,包括doxygen未知的文檔(註釋)。這樣doxygen將嘗試對源碼中的所有註釋進行分析。如果EXTRACT_PRIVATEEXTRACT_STATIC沒被設成yes,私有類成員和靜態文件成員將會被隱藏掉。

(2)EXTRACT_PRIVATE        = NO

如果這個標籤被設置成yes所有的類私有成員都會被包含到文檔中。

(3)EXTRACT_STATIC         = NO

如果這個標籤被設置成yes,一個文件中的所有靜態成員都會被包含到文檔中。

(4)EXTRACT_LOCAL_CLASSES  = YES

如果這個標籤被設置成yes,定義在源代碼實現文件中的類和結構(classes and structs)會被包含進文檔中,如果被設置成no,則只有定義在頭文件中的類纔會被包含到文檔中。

(5)EXTRACT_LOCAL_METHODS  = NO

這個標籤只對面向對象的C有用。

(6)EXTRACT_ANON_NSPACES   = NO

如果這個標籤被設置成yes,無名命名空間的成員會被展開並作爲一個名叫'anonymous_namespace{file}'的命名空間出現在文檔中,這裏的file會被替換成包含這個無名命名空間的那個文件的名字(去掉後綴名)。默認情況下無名命名空間是被隱藏的。

(7)HIDE_UNDOC_MEMBERS     = NO

表示那些沒有使用doxygen格式描述的文檔(函數或類等)就不顯示了。當然,如果EXTRACT_ALL被啓用,那麼這個標誌其實是被忽略的。

(8)HIDE_UNDOC_CLASSES     = NO

7

(9)HIDE_FRIEND_COMPOUNDS  = NO

如果這個標籤被設成yesDoxygen將會隱藏所有友員類|結構體|聯合聲明,如果被設置爲no這些聲明則會被包含到文檔中。

(10)HIDE_IN_BODY_DOCS      = NO

如果這個標籤被置爲yesDoxygen會隱藏函數體內所有的註釋塊。如果被設置成no(默認值),這些註釋塊會被追加到函數的詳細註釋塊。

(11)INTERNAL_DOCS          = NO

主要指是否輸出註釋中的@internal部分。如果沒有被啓動,那麼註釋中所有的@internal部分都將在目標幫助中不可見。

(12)CASE_SENSE_NAMES       = YES

生成的文件名是否區分大小寫,對於Windowsmac用戶建議設置爲no

(13)HIDE_SCOPE_NAMES       = NO

如果這個標籤被設置成no(默認值),幫助文檔中顯示的成員將帶上它們的類作用域和命名空間。

(14)SHOW_INCLUDE_FILES     = YES

如果被置成yes幫助文檔中會把這個文件所包含的所有頭文件都列出來。

(15)INLINE_INFO            = YES

如果這個標籤被置爲yes(默認值),那麼對於內聯成員前面將加上[inline]標籤。

(16)SORT_MEMBER_DOCS       = YES

如果這個標籤被置爲yes(默認值),那個doxygen會按字母順序排列類成員。否則這些類成員將以它們被聲明的順序出現。

(17)SORT_BRIEF_DOCS        = NO

16差不多,這個是按brief字母排序。

(18)SORT_MEMBERS_CTORS_1ST = NO

如果這個標籤被設置yesdoxygen會根據(brief和詳細信息)排序文檔中的類成員,這樣的話構造和析構就被放在清單的前面。如果被設置成NO(默認值),構造函數的顯示順序就會分別按照SORT_MEMBER_DOCSSORT_BRIEF_DOCS定義的方式。

當把SORT_BRIEF_DOCS設置成NO的時候,這個標籤對brief的作用就會失效。

當把SORT_MEMBER_DOCS設置成NO的時候,這個標籤對detailed的註釋就會失效。

(19)SORT_GROUP_NAMES       = NO

如果這個標籤被設置成yesdoxygen會按照組的名字按照字母表排序。

(20)SORT_BY_SCOPE_NAME     = NO

如果被設成yes,就會對類和命名空間按照名字排序。

(21)GENERATE_TODOLIST      = YES

產生todo列表,前提是在文檔中放置/todo命令。

(22)GENERATE_TESTLIST      = YES

在文檔中放置/test命令的情況下產生test列表。

(23)GENERATE_BUGLIST       = YES

在文檔中放置/bug命令的情況下產生bug列表。

(24)GENERATE_DEPRECATEDLIST= YES

同上,產生deprecated列表。

(25)ENABLED_SECTIONS       =

使條件註釋塊生效,使用方式是這樣的:/if   段名   ...  /endif

(26)MAX_INITIALIZER_LINES  = 30

變量聲明在文檔中能顯示的最大值。可以通過/showinitializer or /hideinitializer去控制,從而忽略這兒的限制。

(27)SHOW_USED_FILES        = YES

設置成yes的話會把所有產生該文檔的所用到的文件都列到這個文檔的底部。

(28)SHOW_DIRECTORIES       = NO

是否顯示文件列表頁面,如果開啓,那麼幫助中會存在一個一個文件列表索引頁面。

(29)SHOW_NAMESPACES        = YES

NO關閉命名空間頁的產生。這樣會從快速索引和文件夾樹形顯示(如果指定的話)中將命名空間刪除。默認開啓。

(30)FILE_VERSION_FILTER    =

基本上用不到,用到再查吧。

(31)LAYOUT_FILE            =

指定一個佈局文件給doxygen,如果未指定,則使用默認的DoxygenLayout.xml

三、有關告警和進度的配置

(1)QUIET                  = NO

 QUIET 如果開啓,那麼表示關閉編譯時的輸出信息。

(2)WARNINGS               = YES

默認打開警示信息。

(3)WARN_IF_UNDOCUMENTED   = YES

設置成yes的話會對未加註釋的方法產生警示,但如果EXTRACT_ALL被置成yes的話,這個標籤將被自動關閉。

(4)WARN_IF_DOC_ERROR      = YES

如果這個標籤被設置成yesdoxygen會爲文檔中潛在的錯誤產生警示,比如沒有爲函數參數加註釋,或者爲沒有參數加了註釋,或者誤用了標記命令。

(5)WARN_NO_PARAMDOC       = NO

這個參數被置成yes的話,doxygen將能對註釋了函數,但沒有對函數參數或返回值作註釋的情況產生警示。如果被置爲no的話,doxygen將只能對錯誤的或不完整的參數註釋產生告警,但不能爲沒有這些註釋產生告警。

(6)WARN_FORMAT            = "$file:$line: $text"

WARN_FORMAT 表示日誌輸出的格式,沒必要修改。

(7)WARN_LOGFILE           =

WARN_LOGFILE 表示warning和錯誤信息是否輸出到LOG文件,如果不寫將輸出到標準錯誤輸出中。

四、有關輸入文件的配置項

(1)    INPUT  =

這個標記創建一個以空格分隔的所有目錄的列表,這個列表包含需要生成文檔的 C/C++ 源代碼文件和頭文件。如果項目只有一個源代碼根目錄,其中有多個子目錄,那麼只需指定根目錄並把 <RECURSIVE> 標記設置爲 Yes

(2)INPUT_ENCODING         = UTF-8

也就是DoxyGen需要解析的輸入文件的編碼

(3)FILE_PATTERNS          = *.c *.cpp *.h

輸入的文件列表。

(4)RECURSIVE              = NO

如果設置成yes的話,對源代碼目錄進行遞歸。

 

doxygen認識的註釋

函數註釋:

/**
  * @brief
這是一個函數

  * @param a
參數一
  * @param b
參數二
  * @return
無返回值
  */

行間註釋:

/** /*!

*

*/

行內註釋:

/** 這是行內註釋 */

/*! 這是行內註釋 */

對中文輸出是亂碼的處理:

INPUT_ENCODING = GB2312 

這樣Doxygen在生成文檔時自動將文件的編碼從GB2312轉換爲UTF-8,輸出就沒有亂碼了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章