が利用可能になりました! リリース日: 2024年12月28日

Doxygen 拡張機能

ツールやスクリプトの数が増え続けているため、それらをいくつかのカテゴリに分けました。

ダイアグラムジェネレーター

Nassi-Shneiderman 図

Eckard Klotz 氏は、Moritz というプロジェクトを開始しました。これは、C/C++ ソースの関数とメソッドの Nassi-Shneiderman 図 を HTML ファイルとして生成し、ソフトウェアドキュメントに含めたり、Web ブラウザで表示したりできます。


他の言語のサポートを追加するフィルター

Perl

Bret Jordan 氏は、フィルター を作成しました。別のフィルター は Thomas Aeby 氏によって作成されました。

Javascript

JavaScript を使用している方にとって、Jörg Schaible 氏が doxygen で JavaScript を扱えるようにする perl スクリプトを作成したことは朗報かもしれません。残念ながら、berlios.de の彼のサイトは削除されました。js2doxy.pl でググれば、スクリプトのコピーを見つけることができます。

Object Pascal

Darren Bowles 氏は、Object Pascal を C++ スタイルの構文に変換する Pas2dox プロジェクトを開始しました。これにより、doxygen は問題なく解析できます。このプロジェクトの目標は、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) の場合、awk ベースの フィルター が Vsevolod Kukol 氏によって作成されました。

MatLab

Ben Heasly 氏は、MatLab スクリプト (新しいオブジェクト指向機能を含む) を doxygen が理解できるものに変換する doxygen 用の フィルター を作成しました。

代替フィルター は、Ian Martins 氏によって提供されています。

Fabrice 氏によるものもあり、Matlab Central で見つけることができます。

Pro*C

Darren Bowles 氏は、Pro*C コードのサポートを追加するための doxygen 用のプリプロセッサアドオンである Proc2Dox を作成しました。

Assembly

Bogdan Drozdowski 氏と Rick Foos 氏は、アセンブリ を doxygen が解析できる C のようなコードに変換するフィルターを作成しました。

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 氏は、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 用のアドイン も作成しました。

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 Tools

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 に興味がある場合は、doxygen 用の Karthik A Kumar 氏の 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 拡張機能を提供する VS Code Extensions provides Doxygen Documentation generation on the fly by starting a Doxygen comment block and pressing enter. を作成しました。これは、Doxygen コメントブロックを開始して Enter キーを押すことで、Doxygen ドキュメントをその場で生成する VS Code 拡張機能です。

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

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

Micheal Jones 氏は、doxygen XML 出力を読み取ってレンダリングできるようにする reStructuredText および Sphinx の 拡張機能 を作成しました。

C# doxmlparser

Baneu Mihai 氏は、C# からアクセスできるようにするために、doxygen の xml パーサー (addon/doxmlparser にあります) の周りの ラッパー を作成しました。

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 の例

doxygen の XML 出力を別のもの (この場合は HTML/CHM) に変換するために XSLT をどのように使用できるかを確認したい場合は、Chelpanov 氏の例 をご覧ください。ただし、いくつかの制限があります。

  • C++ はサポートされていません
  • doxygen を直接使用したり、XML から HTML への C で SAX ベースの変換を記述したりするよりも遅いです。
  • CHM 形式のみをサポートします。
  • Windows プラットフォームでのみ動作します。
  • doxygen の機能の一部のみがサポートされています。

およびいくつかの追加要件

  • HTML Help WorkShop
  • Microsoft .Net Framework 1.1

コメントや提案がある場合は、Chelpanov までお送りください (メールアドレスから NO_SPAM 部分を削除してください)。

Bo Peng 氏は、SWIG/Python インターフェイスの情報を抽出するための小さな XSLT スクリプト を作成しました。