が利用可能になりました! リリース日: 2025年5月24日

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スクリプトを作成しました。