Doxygen 擴充功能
由於工具/腳本的數量不斷增長,我已將它們分為多個類別圖表產生器
Nassi-Shneiderman 圖
Eckard Klotz 開始了一個名為 Moritz 的專案。它會將 C/C++ 原始碼中的函式和方法產生 Nassi-Shneiderman 圖,並以 HTML 檔案呈現,這些檔案可以包含在軟體文件中,或直接在網頁瀏覽器中檢視。
為其他語言新增支援的篩選器
Perl
Bret Jordan 編寫了 一個篩選器,另一個篩選器則由 Thomas Aeby 編寫。
Javascript
對於使用 JavaScript 的人,可能要知道 Jörg Schaible 編寫了一個 Perl 腳本,讓 doxygen 可以處理它。不幸的是,他在 berlios.de 的網站已經被移除。如果你在 Google 上搜尋 js2doxy.pl
,仍然可以找到該腳本的副本。
Object Pascal
Darren Bowles 開始了一個專案 Pas2dox,將 Object Pascal 轉換為 C++ 風格的語法,以便 doxygen 可以順利解析。該專案的目標是允許 doxygen 用於 Delphi/Kylix 專案。
Visual Basic
Mathias Henze 編寫了一個 awk 腳本,將 Visual Basic 程式碼轉換為 doxygen 可以理解的內容。該套件包含一個小型的批次包裝器。要使用它,必須在設定選項 "INPUT_FILTER" 中加入以下這一行
C:/path/to/filer/tools/vbfilter.bat C:\path\to\filter\tools
需要一些 Unix 工具(如 sh.exe、gawk.exe 和 tee.exe)在提供的路徑下可用。它們可以從這裡下載。
Basti Grembowietz 提供了 Visual Basic 的替代篩選器。它需要 Python,並附帶以下使用說明
VB 檔案必須以下列方式準備
'* <comments directly handed to doxygen> <vb- Function / Sub / Member>
為了簡短使用,也允許這樣
<vb-member (recommended)> '* <doxygen-comment>
對於指向類別/模組的註解,必須使用 '!'。
Giovanni De Cicco 基於 Mathias 的腳本,為 VB6 開發人員編寫了一個名為 VBDoxyAddin 的附加元件。
對於較新的 VB.NET(以及經典的 VB),Vsevolod Kukol 編寫了一個基於 awk 的 篩選器。
MatLab
Ben Heasly 編寫了一個 doxygen 篩選器,將 MatLab 腳本(包括新的物件導向功能)轉換為 doxygen 可以理解的內容。
Ian Martins 提供了替代篩選器。
Fabrice 也提供了一個篩選器,可以在 Matlab Central 上找到。
Pro*C
Darren Bowles 建立了 Proc2Dox,這是一個 doxygen 的預處理器附加元件,用於新增對 Pro*C 程式碼的支援。
組合語言
Bogdan Drozdowski 和 Rick Foos 編寫了一個篩選器,將組合語言轉換為類似 C 的程式碼,以便 doxygen 可以解析。
Lua
Alec Chen 編寫了一個 篩選器,讓 doxygen 可以解析 Lua 程式碼。Simon Dales 提供了另一個 lua 篩選器來執行相同的操作。
GLSL Shader
Sebastian Schaefer 編寫了一個篩選器,讓 doxygen 可以解析 GLSL shader 語言。
Qt QML
Aurélien Gâteau 編寫了一個 Qt 的 QML 檔案的 篩選器。
GOB-doc
GOB-doc 篩選器會解析 *.gob 檔案,並產生 C++ 類別定義。
Prolog
Dr Beco 編寫了一個 Prolog 篩選器。
CAPL
Bretislav Rychta 編寫了 CAPL 篩選器,即 CAN Access Programming Language。
STX
Jan Lochmatter 編寫了一個 STX 語言篩選器,該語言用於德國製造商 Jetter 的 PLC(可程式邏輯控制器)。
KickAssembler
Raffaele Intorcia 編寫了一個 Python 腳本,提供從 KickAssembler 原始碼到類 C 格式的簡單轉換。
提升易用性
Doxygenator
Pierre Clouthier 編寫了 Doxygenator,這是一個在函式之前自動插入 Doxygen 註解區塊的工具。Doxygen 指令是範本或骨架,你可以在其中填寫詳細資訊。
DoxyAssist
ChEeTaH 編寫了 DoxyAssist。此工具可以使用範本 doxygen 設定檔,並針對其管理的特定專案和子專案調整設定。對於每個(子)專案,doxygen 會個別執行,從而為每個子專案產生單獨的文件集。它會將這些部分合併回 Qt Assistant,確保可使用適當的篩選器。然後可以使用 Qt Assistant 來檢視整個文件,或輕鬆將檢視範圍限制為子專案。它對 Drupal 提供特殊支援,其中所有貢獻的模組都會自動被發現並新增為子專案(請參閱 此 示範)。
Eclipse
Eclox 是 Eclipse 的 doxygen 前端外掛程式。
Visual Studio
如果您使用 Visual Studio .NET,請參閱 Steve King 的外掛程式集。Greg Engelstad 編寫了一個 Perl 腳本,用於解析 Visual Studio .NET 解決方案檔案 (.sln),並為其中包含的每個單獨專案執行 doxygen。
Jason Williams 編寫了一個 Visual Studio 2005 和 2008 的外掛程式,能夠從大多數程式碼元素(檔案、命名空間、類別、結構、列舉、函式等)自動產生 doxygen(或 DocXml)樣式的註解。它會解析 C、C++、C# 和 Java 程式碼以產生完整形式的 doxygen 註解,並且可以在程式碼元素變更時更新這些註解,並將描述換行以保持整潔。它使用一組使用者可編輯的規則來提供元素、參數和回傳程式碼的自動描述,從而最大程度地減少產生文件註解所涉及的工作。
jgallardo 也編寫了一個 Visual Studio 外掛程式,可簡化瀏覽 doxygen 產生的文件。
Troels Gram 建立了一個名為 DoxyComment 的 Visual Studio 2005 外掛程式。它旨在協助你在 C/C++ 原始碼檔案中插入關聯式註解區塊。DoxyComment 還附帶一個 xslt 範本,可讓你產生像 MSDN 程式庫一樣的文件。
如果您使用 Microsoft 的 Developer Studio 6.0,可以使用一個名為 DoxBar 的附加元件,從 Developer Studio 內部執行 doxygen,並搜尋產生的 HTML 說明檔案。
注意:我沒有足夠的時間再維護 DoxBar,所以我將 DoxBar 移至 sourceforge。Olivier Sannier 對 DoxBar 進行了一些改進。如果你也想加入開發團隊,請在 sourceforge 上註冊為使用者,並將你的使用者名稱寄給我:我。
Bernhard Nowara 編寫了一個 設定檔編輯器,這是一個類似於 doxywizard 的 Windows 工具。他還建立了一個 DoxBar 的增強版本,其中包含他的編輯器和 一些 Visual Studio 的巨集,以簡化 doxygen 的原始碼準備工作。這些變更已由 Olivier Sannier 合併到較新版本的 doxygen 中。
FeinSoftware 發布了一個適用於 Microsoft Visual Studio .NET (Visual C++) 的開發工具,名為 CommentMaker,它會建立可自訂的函式標頭,開發人員可以根據最特定的文件要求進行調整。預設情況下,它會產生與 doxygen 相容的註解。
TechPubs 工具
Glenn Maxey 發布了 The TechPubs Tools (TPT),它會包裝任意數量的迷你 HTML 系統,並建立一個完整的 HTML 系統,其中包含目錄和自動產生的索引/詞彙表。TPT 由 Perl 程式、UNIX shell 腳本和主範本檔案 (HTML) 組成。
樹狀檢視 Applet
對於 TREEVIEW 選項有效能問題的人,可以試試 Glenn Maxey 編寫的 這個腳本。
MSDN 整合
對於使用 Windows 且想要將 doxygen 產生的壓縮 HTML 整合到 MSDN 中的人,請參閱 此 MSDN 整合器公用程式。
透過 Perl 設定
Richard Y. Kim 編寫了一個 Perl 模組,以便更輕鬆地從 Perl 腳本中使用/設定 doxygen。
Ant 任務
如果您使用 Ant,請參閱 Karthik A Kumar 的 doxygen Ant 任務物件。
Automake/autoconf 整合
Oren Ben-Kiki 展示了如何將 doxygen 與 Automake 和 Autoconf 整合。
嵌入 HTML
Wilfred Nilsen 編寫了一個 工具(適用於 Windows),可合併多個 HTML 檔案並將它們嵌入到單個可執行檔中。這可以與 doxygen 的 HTML 輸出結合使用。
Trac 外掛程式
如果您使用 Trac 來追蹤問題,請參閱這個 外掛程式以嵌入 doxygen 文件。
CMake 整合
Stefan Majewsky 在部落格文章中撰寫了關於將 doxygen 整合到基於 CMake 的專案中。DoxyGrouper
Raja Kajiev 編寫了一個名為 DoxyGrouper 的工具,可以幫助你在目錄結構的基礎上將項目包含到群組中。
qtres2dox
Markus Schwartz 撰寫了一個名為 qtres2dox 的工具,它可以從 .ui 和 .qrc 檔案產生 doxygen 的輸入檔。
Doxynum
Doxynum 是一個程式,用於自動編號章節和圖表,並在透過 doxygen 軟體產生的文件中建立目錄。
編輯器附加元件
Visual Studio
Sedeniono 撰寫了 VSDoxyHighlighter,這是一個 Visual Studio 2022 擴充功能,提供語法高亮和自動完成功能。
Christoph Schlosser 撰寫了 VS Code 擴充功能,透過啟動 Doxygen 註解區塊並按下 Enter 鍵,即可即時產生 Doxygen 文件。 這是一個 VS Code 擴充功能,透過啟動 Doxygen 註解區塊並按下 Enter 鍵,即可即時產生 Doxygen 文件。
VIM
如果 VIM 是您最喜歡的編輯器(它也是我的!),Michael Geddes 在 C/C++/IDL/Java 的基礎上撰寫了一個 語法高亮腳本。Ralf Schandl 也提供了一些 巨集和語法高亮檔案供您使用。Emilio Riva 寄送了 另一個 vim 高亮檔案。
Emacs
如果您使用 Emacs 編輯器,請查看 epydoc-el,這是一個 lisp 腳本,可簡化 Doxygen 註解的撰寫。
Ryan Sammartino 在 sourceforge 上維護一個名為 Doxymacs 的專案,該專案產生了一個 elisp 套件,使在 {X}Emacs 中使用 doxygen 更加容易。
UltraEdit
如果 UltraEdit 是您選擇的編輯器,請查看 Dominik Stadler 的 腳本,了解如何為 doxygen 註解區塊啟用語法高亮。
TSE Pro/32
對於 SemWare 的 TSE Pro/32 編輯器,Howard Kapustein 提供了 語法定義檔案,用於 doxygen 風格的註解區塊。
Delphi/C++ Builder
如果您將 Delphi 或 C++ Builder 與 GExperts 結合使用,您可以使用 Miguel A. Richard 編寫的 XML 巨集,作為程式碼中註解的範本。
從其他文件工具遷移
Cocoon
如果您想將 Cocoon(或 C++)風格的註解即時轉換為 Qt 風格的註解,您可以嘗試 Paul S. Strauss 撰寫的 filterComments.pl 腳本。將其與 doxygen 的 INPUT_FILTER
設定選項結合使用。
AutoDuck
Martin Slater 撰寫了一個 python 腳本 duck2dox,可用於將 AutoDuck 風格的註解轉換為 doxygen 註解。Steven Blackburn 撰寫了 另一個以 C++ 編寫的篩選器。Brian Szuter 在嘗試了其他篩選器並發現它們無法滿足他的需求後,撰寫了 另一個篩選器。XML/XSLT 範例
Breathe
Micheal Jones 撰寫了一個 擴充功能,用於 reStructuredText 和 Sphinx,使其能夠讀取和渲染 doxygen XML 輸出。
C# doxmlparser
Baneu Mihai 撰寫了一個 doxygen XML 解析器(在 addon/doxmlparser 中找到)的 封裝器,使其可以從 C# 存取。
Doxyclean
Matt Ball 撰寫了一個名為 doxyclean 的腳本,用於將 doxygen 的輸出轉換為更接近 Apple 自己文件格式的內容。
Doxygen.NET
Thomas Hansen 和 Kariem Ali 撰寫了 Doxygen.NET,它為 doxygen 產生的 XML 輸出提供 .NET 物件封裝器。
Dox
Narech Koumar 撰寫了一個名為 Dox 的工具,它讀取 doxygen 產生的 XML 輸出,並將其轉換為格式化的 HTML,其風格類似於 Javadoc 的風格。
XSLT 範例
如果您想了解如何使用 XSLT 將 doxygen 的 XML 輸出轉換為其他內容(在本例中為 HTML/CHM),請查看 Chelpanov 的範例。它有一些限制。
- 不支援 C++
- 它比直接使用 doxygen 或在 C 中編寫基於 SAX 的 XML 到 HTML 轉換更慢。
- 它僅支援 CHM 格式。
- 它僅在 Windows 平台上工作。
- 僅支援 doxygen 的部分功能。
以及一些其他要求
- HTML Help Workshop
- Microsoft .Net Framework 1.1
如果您有任何意見或建議,請發送至 Chelpanov(從郵件地址中刪除 NO_SPAM 部分)。
Bo Peng 撰寫了一個小的 XSLT 腳本,用於提取 SWIG/Python 介面的資訊。