Doxygen 拡張機能
ツール/スクリプトの数が増え続けているため、それらをいくつかのカテゴリに分類しました。図ジェネレーター
Nassi-Shneiderman図
Eckard KlotzはMoritzというプロジェクトを開始しました。これは、C/C++ソースの関数やメソッドのNassi-Shneiderman図をHTMLファイルとして生成し、ソフトウェアドキュメントに含めたり、ウェブブラウザで閲覧したりできます。
他の言語のサポートを追加するフィルター
Perl
Bret Jordanはフィルターを書いています。もう1つのフィルターはThomas Aebyによって書かれています。
JavaScript
JavaScriptを扱っている方には、Jörg SchaibleがdoxygenがJavaScriptを処理できるようにするperlスクリプトを書いたことを知っておくと良いかもしれません。残念ながら、彼のberlios.deのサイトは削除されました。しかし、js2doxy.pl
でGoogle検索すると、まだスクリプトのコピーを見つけることができます。
Object Pascal
Darren BowlesはPas2doxというプロジェクトを開始しました。これは、Object PascalをC++スタイルの構文に変換し、doxygenが問題なく解析できるようにするものです。このプロジェクトの目標は、Delphi/Kylixプロジェクトにdoxygenを使用できるようにすることです。
Visual Basic
Mathias Henzeは、Visual Basicコードをdoxygenが理解できるものに変換するawkスクリプトを書きました。このパッケージには小さなバッチラッパーが含まれています。これを使用するには、構成オプション「INPUT_FILTER」に以下の行を設定する必要があります。
C:/path/to/filer/tools/vbfilter.bat C:\path\to\filter\tools
sh.exe、gawk.exe、tee.exeのような一部のUnixツールは、指定されたパスで利用できる必要があります。これらはこちらからダウンロードできます。
Visual Basic用の代替フィルターは、Basti Grembowietzによって提供されています。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は、MatLabスクリプト(新しいオブジェクト指向機能を含む)をdoxygenが理解できるものに変換するdoxygen用のフィルターを書いています。
Ian Martinsによって代替フィルターが提供されています。
FabriceによるものもMatlab Centralで見つけることができます。
Pro*C
Darren BowlesはProc2Doxを作成しました。これは、Pro*Cコードのサポートを追加するためのdoxygen用のプリプロセッサーアドオンです。
アセンブリ
Bogdan DrozdowskiとRick Foosは、アセンブリをdoxygenが解析できるC言語のようなコードに変換するフィルターを書いています。
Lua
Alec Chenは、doxygenがLuaコードを解析できるようにするフィルターを書いています。Simon Dalesも同様のLuaフィルターを持っています。
GLSL Shader
Sebastian Schaeferは、doxygenがGLSLシェーダー言語を解析できるようにするフィルターを書いています。
Qt QML
Aurélien GâteauはQtのQMLファイル用のフィルターを書いています。
GOB-doc
GOB-docフィルターは、*.gobファイルを解析し、C++クラス定義を生成します。
Prolog
Dr BecoはProlog用フィルターを書いています。
CAPL
Bretislav Rychtaは、CAN Access Programming LanguageであるCAPL用フィルターを書きました。
STX
Jan Lochmatterは、ドイツのメーカーJetterのPLC(プログラマブルロジックコントローラー)で使用されるSTX言語用フィルターを書いています。
KickAssembler
Raffaele Intorciaは、KickAssemblerのソースコードをC言語ライクな形式にシンプルに変換するPythonスクリプトを書きました。
使いやすさの向上
Doxygenator
Pierre Clouthierは、関数前にDoxygenコメントブロックを自動的に挿入するツールであるDoxygenatorを書いています。Doxygenコマンドはテンプレートまたはひな形であり、詳細は自分で入力します。
DoxyAssist
ChEeTaHはDoxyAssistを開発しました。このツールは、テンプレートのdoxygen設定ファイルを使用し、管理する特定のプロジェクトやサブプロジェクトに合わせて設定を調整できます。各(サブ)プロジェクトではdoxygenが個別に実行され、各サブプロジェクトごとに個別のドキュメントセットが生成されます。Qt Assistant向けにこれらの部分を結合し、適切なフィルターが利用可能であることを確認します。Qt Assistantを使用すると、ドキュメント全体を表示したり、サブプロジェクトに表示を簡単に限定したりできます。Drupalには特別なサポートがあり、すべての貢献モジュールが自動的に検出され、サブプロジェクトとして追加されます(このデモンストレーションを参照してください)。
Eclipse
Ecloxは、Eclipse用のdoxygenフロントエンドプラグインです。
Visual Studio
Visual Studio .NETをご利用の場合は、Steve Kingのアドインセットをご覧ください。Greg Engelstadは、Visual Studio .NETソリューションファイル(.sln)を解析し、その中に含まれる各プロジェクトに対してdoxygenを実行するperlスクリプトを書いています。
Jason Williamsは、ほとんどのコード要素(ファイル、名前空間、クラス、構造体、列挙、関数など)からdoxygen(またはDocXml)スタイルのコメントを自動生成できるVisual Studio 2005 & 2008用アドインを書いています。C、C++、C#、Javaコードを解析して完全な形式のdoxygenコメントを生成し、コード要素が変更された場合はそれらのコメントを更新したり、説明をワードラップして整頓したりできます。ユーザーが編集可能な一連のルールを使用して、要素、パラメーター、および戻りコードの自動記述を提供し、ドキュメントコメントの生成にかかる労力を最小限に抑えます。
jgallardoはまた、doxygenによって生成されたドキュメントの閲覧を容易にするVisual Studio用アドインも書いています。
Troels Gramによって、Visual Studio 2005用のDoxyCommentというアドインが作成されました。これは、C/C++ソースファイルにコンテキストに応じたコメントブロックを挿入するのを支援するように設計されています。DoxyCommentには、MSDNライブラリのようなドキュメントを生成できるXSLTテンプレートも付属しています。
MicrosoftのDeveloper Studio 6.0を使用している場合、Developer Studio内からdoxygenを実行したり、生成されたHTMLヘルプファイルを検索したりするために使用できるDoxBarというアドインが利用可能です。
注: DoxBarを私自身で維持する時間がなくなったため、DoxBarをsourceforgeに移しました。Olivier SannierはDoxBarにいくつかの改善を導入しました。あなたも開発チームに参加したい場合は、sourceforgeでユーザーとして登録し、あなたのユーザー名を私にメールしてください。
Bernhard Nowaraは、Windows用のdoxywizardのようなツールであるプロファイルエディターを書いています。彼はまた、彼のエディターとdoxygen用のソースコードの準備を容易にするVisual Studio用マクロを含むDoxBarの拡張バージョンも作成しました。これらの変更は、Olivier Sannierによってdoxygenのより新しいバージョンにマージされました。
FeinSoftwareは、開発者が最も特定のドキュメント要件に合わせて調整できるカスタマイズ可能な関数ヘッダーを作成する、Microsoft Visual Studio .NET (Visual C++) 用の開発ツールであるCommentMakerをリリースしました。デフォルトでは、doxygen互換のコメントを生成します。
TechPubs ツール
Glenn Maxeyは、任意の数のミニHTMLシステムをラップし、目次と自動生成された索引/語彙集を備えた包括的なHTMLシステムを作成するTechPubs Tools (TPT)をリリースしました。TPTは、Perlプログラム、UNIXシェルスクリプト、およびマスタテンプレートファイル(HTML)で構成されています。
ツリービューアプレット
TREEVIEWオプションでパフォーマンスの問題を抱えている方は、Glenn Maxeyが書いたこのスクリプトを試してみてください。
MSDN連携
Windowsを使用しており、doxygenによって生成された圧縮HTMLをMSDNに統合したい方は、このMSDN統合ユーティリティをご覧ください。
Perl経由で設定
Richard Y. Kimは、Perlスクリプトからdoxygenをより簡単に使用/設定するためのPerlモジュールを書いています。
Ant タスク
Antをご利用の方は、Karthik A Kumarのdoxygen用Antタスクオブジェクトをご覧ください。
Automake/autoconf 統合
Oren Ben-Kikiは、doxygenをAutomakeおよびAutoconfと統合する方法を示しています。
HTML埋め込み
Wilfred Nilsenは、複数のHTMLファイルを結合し、1つの実行可能ファイルに埋め込むツール(Windows用)を作成しました。これは、doxygenのHTML出力と組み合わせて使用できます。
Trac プラグイン
課題管理にTracを使用している場合は、doxygenドキュメントを埋め込むこのプラグインをご覧ください。
CMake 統合
Stefan Majewskyは、CMakeベースのプロジェクトにdoxygenを統合する方法についてブログ記事を書いています。DoxyGrouper
Raja Kajievは、ディレクトリ構造に基づいてアイテムをグループに含めるのに役立つDoxyGrouperというツールを開発しました。
qtres2dox
Markus Schwartzは、.uiおよび.qrcファイルからdoxygen用の入力ファイルを生成できるqtres2doxというツールを開発しました。
Doxynum
Doxynumは、doxygenソフトウェアを使用して生成されたドキュメントのセクションや図面の自動番号付け、およびコンテンツ作成のためのプログラムです。
エディタアドオン
Visual Studio
Sedenionoは、シンタックスハイライトとオートコンプリート機能を提供するVisual Studio 2022拡張機能であるVSDoxyHighlighterを作成しました。
Christoph Schlosserは、Doxygenコメントブロックを開始してEnterキーを押すことで、Doxygenドキュメントをその場で生成できるVS Code拡張機能であるVS Code Extensions provides Doxygen Documentation generation on the fly by starting a Doxygen comment block and pressing enter.を作成しました。
VIM
VIMがお気に入りのエディタであれば(私のお気に入りです!)、Michael GeddesはC/C++/IDL/Javaのシンタックスハイライトスクリプトを作成しました。Ralf Schandlも、いくつかのマクロとシンタックスハイライトファイルを提供しています。Emilio Rivaは別のVimハイライトファイルを送ってくれました。
Emacs
Emacsエディタを使用している場合は、doxygenコメントの記述を簡素化するLispスクリプトであるepydoc-elをご覧ください。
Ryan SammartinoはsourceforgeでDoxymacsというプロジェクトを維持しており、これは{X}Emacs内からdoxygenを使用しやすくするためのelispパッケージを生成しました。
UltraEdit
UltraEditがお好みのエディタであれば、doxygenコメントブロックのシンタックスハイライトを有効にする方法については、Dominik Stadlerのスクリプトをご覧ください。
TSE Pro/32
SemWareのTSE Pro/32エディタ向けに、Howard Kapusteinはdoxygenスタイルのコメントブロック用のシンタックス定義ファイルを提供しています。
Delphi/C++ Builder
GExpertsと組み合わせてDelphiまたはC++ Builderを使用している場合、Miguel A. Richardが作成したXMLマクロをコード内のコメントのテンプレートとして使用できます。
他のドキュメントツールからの移行
Cocoon
Cocoon(またはC++)スタイルのコメントをQtスタイルのコメントにその場で変換したい場合は、Paul S. Straussが書いたfilterComments.plスクリプトを試してみてください。doxygenのINPUT_FILTER
設定オプションと組み合わせて使用してください。
AutoDuck
Martin Slaterは、AutoDuckスタイルのコメントをdoxygenコメントに変換するために使用できるPythonスクリプトduck2doxを作成しました。Steven Blackburnは、C++で書かれた代替フィルターを作成しました。Brian Szuterは、他のフィルターを試した後、自分のニーズには不十分であると感じ、さらに別のフィルターを作成しました。XML/XSLTの例
Breathe
Micheal Jonesは、doxygenのXML出力を読み込んでレンダリングできるようにするreStructuredTextおよびSphinx用の拡張機能を開発しました。
C# doxmlparser
Baneu Mihaiは、doxygenのXMLパーサー(addon/doxmlparserにある)をC#からアクセス可能にするラッパーを作成しました。
Doxyclean
Matt Ballは、doxygenの出力をApple自身のドキュメントに近づけるdoxycleanというスクリプトを作成しました。
Doxygen.NET
Thomas HansenとKariem Aliは、doxygenによって生成されたXML出力用の.NETオブジェクトラッパーを提供するDoxygen.NETを開発しました。
Dox
Narech Koumarは、doxygenによって生成されたXML出力を読み込み、Javadocのスタイルに似た整形されたHTMLに変換するDoxというツールを開発しました。
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は、SWIG/Pythonインターフェースの情報を抽出するための小さなXSLTスクリプトを作成しました。