- 文件撰寫者只需極少的額外負擔。可以使用純文字,支援 Markdown,對於更花俏或結構化的輸出,可以使用 HTML 標籤和/或 Doxygen 的一些特殊命令。
- 跨平台:可在 Windows 和許多 Unix 系統(包括 Linux 和 macOS)上運作。
- 即使是未編寫文件的程式碼,也能索引、組織並產生可瀏覽且交叉參照的輸出。
- 為解析的原始碼產生結構化的 XML 輸出,可供外部工具使用。
- 支援 C/C++、Lex、Java、(Corba 和 Microsoft)Java、Python、VHDL、PHP IDL、C#、Fortran、Objective-C 2.0,以及某種程度的 D 原始碼。
- 支援文件檔案、命名空間、套件、類別、結構、聯合、模板、變數、函式、類型定義、枚舉和定義。
- 與 Javadoc (1.1)、qdoc3(部分)和 ECMA-334 (C# 規格) 相容。
- 隨附 GUI 前端 (Doxywizard),可輕鬆編輯選項並執行 Doxygen。GUI 可在 Windows、Linux 和 macOS 上使用。
- 自動產生 HTML 中的類別和協作圖(作為可點擊的影像地圖)和
(作為封裝式 PostScript 影像)。
- 使用 Graphviz 工具套件的
dot
工具來產生包含依賴圖、協作圖、呼叫圖、目錄結構圖和圖形類別階層圖。
- 允許將實體分組到主題中,並建立主題的階層。
- 彈性的註解位置:允許您將文件放在標頭檔(在實體宣告之前)、原始碼檔(在實體定義之前)或單獨的檔案中。
- 產生類別所有成員的清單(包括任何繼承的成員)及其保護級別。
- 同時輸出線上格式(XHTML 和 UNIX man page)和離線格式(
和 RTF)的文件(可以根據需要禁用其中任何一種)。所有格式都經過優化,便於閱讀。
此外,可以使用 Microsoft 的 HTML Help Workshop(僅限 Windows)從 HTML 輸出產生壓縮的 HTML,並且可以從
輸出產生 PDF。
- 支援各種第三方幫助格式,包括 HTML Help、docsets、Qt-Help 和 eclipse help。
- 包含完整的 C 前處理器,以允許正確解析條件程式碼片段,並允許擴充全部或部分巨集定義。
- 自動偵測 public、protected 和 private 區段,以及 Qt 特有的 signal 和 slot 區段。擷取 private 類別成員是可選的。
- 自動產生對編寫文件的類別、檔案、命名空間和成員的參考。也支援全域函式、全域變數、類型定義、定義和枚舉的文件。
- 自動產生對基本/父類別和繼承/覆寫成員的參考。
- 包含快速、基於排序的搜尋引擎,以在類別和成員文件中搜尋字串或單字(基於 PHP)。
- 包含基於 JavaScript 的即時搜尋功能,可在您輸入時搜尋符號(適用於小型至中型專案)。
- 您可以在文件中輸入一般的 HTML 標籤。Doxygen 會自動將它們轉換為對應的
、RTF 和 man-page。
- 允許以獨立於位置的方式參考為其他(Doxygen 記載)專案(或同一專案的另一部分)產生的文件。
- 允許包含與文件自動交叉參照的原始碼範例。
- 也支援包含未編寫文件的類別,可以快速了解(大型)程式碼的結構和介面,而無需查看實作細節。
- 允許將(編寫文件的)實體與其在原始碼中的定義自動交叉參照。
- 為了方便閱讀,所有原始碼片段都會進行語法高亮顯示。
- 允許在文件中包含函式/成員/類別定義。
- 所有選項都從易於編輯且(可選)帶註釋的設定檔中讀取。
- 文件和搜尋引擎可以傳輸到另一個位置或機器,而無需重新產生文件。
- 支援許多不同的字元編碼,並且在內部和產生的輸出中使用 UTF-8。
- Doxygen 可以產生一個版面配置,您可以使用和編輯該版面配置來變更每個頁面的版面配置。
- 有超過 100 個可設定的選項來微調輸出。
- 可以輕鬆處理大型專案。
雖然 Doxygen 現在可以在任何以 Doxygen 支援的語言編寫的專案中使用,但最初它是專門為使用 Qt Software 的 Qt 工具套件 的專案而設計的。我嘗試使 Doxygen「與 Qt 相容」。也就是說:Doxygen 可以讀取 Qt 原始碼中包含的文件,並建立一個與 Qt Software 產生的類別瀏覽器非常相似的類別瀏覽器。Doxygen 了解 Qt 使用的 C++ 擴充功能,例如 signals 和 slots,以及 Qt 原始碼中使用的許多標記命令。
Doxygen 也可以自動產生連結到使用 Doxygen 或 Qt 的非公開類別瀏覽器產生器產生的現有文件。對於基於 Qt 的專案,這表示每當您參考屬於 Qt 工具套件的成員或類別時,都會產生指向 Qt 文件的連結。這與此文件所在的位置無關!
前往下一節或返回索引。