Doxygenの拡張機能
ツール/スクリプトの数が増え続けているため、いくつかのカテゴリに分けましたダイアグラムジェネレーター
Nassi-Shneidermanダイアグラム
Eckard KlotzはMoritzというプロジェクトを開始しました。これはC/C++ソースの関数やメソッドのNassi-ShneidermanダイアグラムをHTMLファイルとして生成し、ソフトウェアドキュメントに含めたり、ウェブブラウザで表示したりできます。
他の言語のサポートを追加するためのフィルター
Perl
Bret Jordanはフィルターを作成しました。もう一つのフィルターはThomas Aebyによって書かれました。
Javascript
JavaScriptを使用している方にとって、Jörg SchaibleがdoxygenでJavaScriptを処理するためのPerlスクリプトを作成したことを知っておくと良いかもしれません。残念ながら、彼のサイト berlios.de は削除されています。しかし、js2doxy.plをGoogleで検索すれば、まだスクリプトのコピーを見つけることができます。
Object Pascal
Darren BowlesはPas2doxというプロジェクトを開始しました。これはObject PascalをC++スタイルの構文に変換し、doxygenが happily parse できるようにします。このプロジェクトの目標は、doxygenをDelphi/Kylixプロジェクトで使用できるようにすることです。
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氏が代替フィルターを提供しています。
Matlab CentralのFabriceによるものもあります。
Pro*C
Darren Bowlesは、Pro*Cコードのサポートを追加するためのdoxygenのプリプロセッサアドオンであるProc2Doxを作成しました。
アセンブリ
Bogdan DrozdowskiとRick Foosは、アセンブリをdoxygenが解析できるC言語のようなコードに変換するフィルターを作成しました。
Lua
Alec Chenは、doxygenがLuaコードを解析できるようにするフィルターを作成しました。Simon Dalesも同様の機能を持つLuaフィルターを持っています。
GLSLシェーダー
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アクセスプログラミング言語である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はVisual Studio 2005 & 2008用のアドインを作成しました。これは、ほとんどのコード要素(ファイル、名前空間、クラス、構造体、列挙型、関数など)からdoxygen(またはDocXml)スタイルのコメントを自動生成できます。C、C++、C#、Javaコードを解析して、完全に形成されたdoxygenコメントを生成し、コード要素が変更された場合にこれらのコメントを更新したり、説明を自動改行してきれいに保つことができます。ユーザーが編集可能な一連のルールを使用して、要素、パラメータ、およびリターンコードの自動記述を提供し、ドキュメントコメントの生成に必要な労力を最小限に抑えます。
jgallardoは、doxygenによって生成されたドキュメントの閲覧を容易にするVisual Studio用アドインも作成しました。
Visual Studio 2005用のアドインで、DoxyCommentというものがTroels Gramによって作成されました。これは、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ファイルを結合し、単一の実行可能ファイルに埋め込むツール(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拡張機能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をお気に入りのエディターとして使用している場合は、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は、AutoDuckスタイルのコメントをdoxygenコメントに変換するために使用できるpythonスクリプトduck2doxを作成しました。Steven BlackburnはC++で書かれた代替フィルターを作成しました。Brian Szuterは、他のフィルターを試してニーズに合わないと感じた後、別のフィルターを作成しました。XML/XSLTの例
Breathe
Michael Jonesは、reStructuredTextとSphinxがdoxygen XML出力を読み込み、レンダリングできるようにする拡張機能を作成しました。
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を直接使用したり、XMLからHTMLへのSAXベースの変換をC言語で書いたりするよりも遅いです。
- CHM形式のみをサポートしています。
- Windowsプラットフォームでのみ動作します。
- doxygenの一部の機能のみがサポートされています。
および追加要件
- HTMLヘルプワークショップ
- Microsoft .Net Framework 1.1
コメントやご提案がありましたら、Chelpanovまでお送りください(メールアドレスからNO_SPAMの部分を削除してください)。
Bo Pengは、SWIG/Pythonインターフェースの情報を抽出するための小さなXSLTスクリプトを作成しました。