Doxygen latest release v1.8.3.1 - last update Sat Aug 24 2014

特徴

  • doxygenは、ドキュメントの執筆者に対して、非常に少ない労力しか要求しません。 プレーンテキストもMarkdownも使えますが、それだけでなく装飾や構造化が出力に必要であれば、HTMLタグや特殊コマンドを使うことができます。
  • クロスプラットフォーム:Windows及びUnix系OS(Linux、MacOSXなど)で動きます。
  • ドキュメントのないコードからでも、ブラウジングができて、クロスリファレンスできる出力を、インデックスつきで、編成して、生成します。
  • ソースをパースして構造化したXML出力を生成します。これは外部ツールで使用できます。
  • C/C++、Java、(Corba およびマイクロソフト) Java、Python、VHDL、PHP、 IDL、C::、Fortran、TCL、Objective-C 2.0 をサポートしており、D のソースにもある程度対応しています。
  • ファイル、名前空間、パッケージ、クラス、構造体、共用体、テンプレート、 変数、関数、typedef、列挙、およびマクロ定義のドキュメントに対応しています。
  • JavaDoc (1.1)、qdoc3(一部のみ)、および ECMA-334 (C# 仕様) と互換。
  • GUIフロンエンド(Doxywizard)がついており、オプション編集やdoxygen実行が簡単にできます。GUIは、Windows、Linux、MacOSXに対応しています。
  • クラス図とコラボレーション図をHTML形式 (クリック可能なイメージマップ) と $\mbox{\LaTeX}$ (Encapsulated PostScript イメージ)で自動生成します。
  • Graphviz ツールキットの dot ツールを使って、インクルード依存関係図、コラボレーション図、call関係図、ディレクトリ構造図、グラフィカルなクラス階層図を生成します。
  • モジュール内のエンティティのグループ化、モジュールの階層化が可能です。
  • コメントの挿入箇所が可変です。ヘッダファイル(要素の宣言の前)、ソースファイル(要素の定義の前)、別ファイルなどにドキュメントを挿入できます。
  • クラスのメンバーすべて(継承メンバーも含む)のリストを、保護レベルを付けて生成します。
  • ドキュメントをオンライン形式(HTML,UNIX man ページ)、オフライン形式( $\mbox{\LaTeX}$, RTF) 両方同時に出力します(好みでどれかを出力不可にすることもできます)。どの形式も、読みやすく最適化できます。
    更に、Microsoft HTML Help Workshop (Windowsのみ)を使ってHTML出力から圧縮HTMLを生成したり、 $\mbox{\LaTeX}$ 出力からPDFを生成したりもできます。
  • さまざまサードパーティー・ヘルプフォーマットをサポートします。HTMLヘルプ、docsets、Qtヘルプ、eclipseヘルプを含みます。
  • フルなCプリプロセッサを含んでいるため、条件付コード断片の解析や、マクロ定義の全部または部分を展開することができます。
  • public,protected,privateセクションを自動判別し、Qt固有のsignal,slotsセクションも自動判別します。privateメンバーの抽出もオプションでできます。
  • ドキュメント付けされたクラス、ファイル、名前空間、メンバーへの参照を自動生成します。 グローバル関数、グローバル変数、型定義、定義、列挙のドキュメントもサポートします。
  • 基底・スーパークラスや、継承・多重定義メンバーへの参照を自動生成します。
  • クラスやメンバーのドキュメント内の文字列や単語を高速で検索する、ランクベースのエンジンがあります(PHPベースです)。
  • クラスやメンバーのドキュメント内の文字列や単語を検索するには、ランクベースのサーチエンジンを使っており、効率がよいです。PHPベースです。
  • シンボルの検索には、Javascriptベースのライブサーチを使っています。小規模から中規模のプロジェクトにあっています。
  • ご自分のドキュメントに通常のHTMLタグを挿入できます。Doxygenはそれらを、 $\mbox{\LaTeX}$, RTF, manページなどの等価なものに、自動的に置き換えます。
  • 他の(doxygenドキュメントつき)プロジェクト(またはプロジェクトの中のほかの部分)用に生成されたドキュメントへの参照が、場所に依存しない方法で、可能です。
  • ドキュメントで自動的にクロス参照されるソースコードの例を含めることができます。
  • ドキュメント付けされていないクラスを含めることができます。これにより、実装の詳細を見なくても(大量の)コードの構造とインタフェースを早く知ることができます。
  • ソースコードの中で、(ドキュメント付けされた)要素とその定義のクロスリファレンスを自動で作れます。
  • ソースコードの断片は、読みやすいようにその構文が強調表示されます。
  • ドキュメント中に、関数・メンバー・クラスの定義を含められます。
  • すべてのオプションは、編集しやすく注釈も付けられる、設定ファイルから読み込みます。
  • ドキュメントと検索エンジンは、場所やマシン間で移動できます。その際ドキュメントの再生成をする必要がありません。
  • たくさんの文字エンコーディングをサポートします。内部ではUTF-8を使っています。生成する出力もそうです。
  • Doxygenは、レイアウトファイルを生成します。これを編集して各ページのレイアウトを変更できます。
  • 出力を微調整するためのオプションが100以上あります。
  • 大きなプロジェクトでも容易に対応できます。

Doxygen は、サポート対象の言語ならどんなプロジェクトにも対応しますが、当初はQt SoftwareのQt ツールキットを利用するプロジェクトに使えるよう特に設計されました。 私は、Doxygen をQtコンパチブルにする努力をしてきました。 ですので、DoxygenはQtソースコードに含まれるドキュメントを読めますし、Qtソフトウェアが生成するクラスブラウザによく似たものを作れます。 Doxygenは、Qtが使うシグナルやスロットのようなC++拡張コードを理解しますし、Qtソースで使われているマークアップコマンドを理解します。

Doxygenを使ったりQtの非公開クラスブラウザジェネレータを使って生成された既存のドキュメントへのリンクを、自動で生成することもできます。 Qtベースのプロジェクトでは、Qtツールキットに属するメンバーやクラスを参照すると、必ずQtドキュメントへのリンクが生成されるということです。 これは、ドキュメントの位置には関係なく生成されます。

のセクションに行く / インデックス に戻る

This page was last modified on Sat Aug 24 2014.
© 1997-2014 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation).
© 2006-2014 TSUJI Takahiro (Japanese translation).
© 2006-2014 TAKAGI Nobuhisa (Japanese translation).