-
ドキュメントの執筆者に対して、非常に少ない労力しか要求しません。 プレーンテキストでも充分ですが、装飾や構造化が出力に必要であれば、HTMLタグや特殊コマンドを使うことができます。
-
C/C++、Java、(Corba およびマイクロソフト) Java、Python、 IDL、C#、Objective-C をサポートしており、D と PHP のソースにもある程度対応しています。
-
ファイル、名前空間、パッケージ、クラス、構造体、共用体、テンプレート、 変数、関数、typedef、列挙、およびマクロ定義のドキュメントに対応しています。
-
JavaDoc (1.1)、Qt-Doc、および ECMA-334 (C# 仕様) と互換。
-
クラス図とコラボレーション図をHTML形式 (クリック可能なイメージマップ) と (Encapsulated PostScript イメージ)で自動生成します。
-
Graphviz ツールキットの dot ツールを使って、インクルード依存関係図、コラボレーション図、call関係図、ディレクトリ構造図、グラフィカルなクラス階層図を生成します。
-
コメントの挿入箇所が可変です。ヘッダファイル(要素の宣言の前)、ソースファイル(要素の定義の前)、別ファイルなどにドキュメントを挿入できます。
-
クラスのメンバーすべて(継承メンバーも含む)のリストを、保護レベルを付けて生成します。
-
ドキュメントをオンライン形式(HTML,UNIX man ページ)、オフライン形式(, RTF) 両方同時に出力します(出力不可にすることもできます)。どの形式も、読みやすく最適化できます。
更に、Microsoft HTML Help Workshop (Windowsのみ)を使ってHTML出力から圧縮HTMLを生成したり、 出力からPDFを生成したりもできます。
-
フルなCプリプロセッサを含んでいるため、条件付コード断片の解析や、マクロ定義の全部または部分を拡張することができます。
-
public,protected,privateセクションを自動判別し、Qt固有のsignal,slotsセクションも自動判別します。privateメンバーの抽出もオプションでできます。
-
ドキュメント付けされたクラス、ファイル、名前空間、メンバーへの参照を自動生成します。 グローバル関数、グローバル変数、型定義、定義、列挙のドキュメントもサポートします。
-
基底・スーパークラスや、継承・多重定義メンバーへの参照を自動生成します。
-
クラスやメンバーのドキュメントから文字列や単語を高速で検索する、ランクベースのエンジンがあります。
-
ご自分のドキュメントに通常のHTMLタグを挿入できます。Doxygenはそれらを、 , RTF, manページなどの等価なものに置き換えます。
-
他のプロジェクト(またはプロジェクトの中のほかの部分)のために生成されたドキュメントへの参照を、場所に依存しない方法で許します。
-
ドキュメントで自動的にクロス参照されるソースコードの例を含めることができます。
-
ドキュメント付けされていないクラスを含めることができます。これにより、実装の詳細を見なくても(大量の)コードの構造とインタフェースを早く知ることができます。
-
ソースコードの中で、(ドキュメント付けされた)要素のクロスリファレンスを自動で作れます。
-
ソースコードの断片は、読みやすいようにその同意語が強調されます。
-
ドキュメント中に、関数・メンバー・クラスの定義を含められます。
-
すべてのオプションは、編集しやすく注釈も付けられる、設定ファイルに保存されています。
-
ドキュメントと検索エンジンは、場所やマシン間で移動できます。その際ドキュメントの再生成をする必要がありません。
-
大きなプロジェクトでも容易に対応できます。
Doxygen は、サポート対象の言語ならどんなプロジェクトにも対応しますが、当初はQt SoftwareのQt ツールキットを利用するプロジェクトに使えるよう特に設計されました。 私は、Doxygen をQtコンパチブルにする努力をしてきました。 ですので、DoxygenはQtソースコードに含まれるドキュメントを読めますし、Qtソフトウェアが生成するクラスブラウザによく似たものを作れます。 Doxygenは、Qtが使うシグナルやスロットのようなC++拡張コードを理解しますし、Qtソースで使われているマークアップコマンドを理解します。
Doxygenを使ったりQtの非公開クラスブラウザジェネレータを使って生成された既存のドキュメントへのリンクを、自動で生成することもできます。 Qtベースのプロジェクトでは、Qtツールキットに属するメンバーやクラスを参照すると、必ずQtドキュメントへのリンクが生成されるということです。 これは、ドキュメントの位置には関係なく生成されます。
次 のセクションに行く /
インデックス に戻る