Doxygen(+Graphviz)でソースコードのドキュメントを自動生成

試しに使ってみたのでメモ。
ソースコードのドキュメントを自動生成できる。
ソースコードの全体的な構成を把握する時にも便利。

特長

  • コメント(JavaDocスタイル、Qtスタイル)から関数や構造体などのリファレンスを自動生成
  • 関数の呼び出しグラフ、include依存関係グラフ、クラス図などを自動生成
  • C/C++, Java, PHP, Pythonなど、様々な言語で利用可能
  • HTML、Latex、PDFなど様々な形式で出力
  • ソースコードやグラフにある関数名やファイル名から、リファレンスにジャンプできる

インストール

Doxygen 1.8.1.1とGraphviz 2.28.0をインストール。

Doxygenは非GUI版をダウンロード。

設定

  • コマンドプロンプトでコンフィグファイルのテンプレートを生成
    doxygen.exe -g config
  • グラフを出力するように設定を変更(変更した項目のみ抜粋)
    # Configuration options related to the dot tool
    HAVE_DOT               = YES
    DOT_PATH               = "C:\Program Files\Graphviz 2.28\bin"
    CALL_GRAPH             = YES
    CALLER_GRAPH           = YES
    UML_LOOK               = YES
  • その他、便利そうな項目(変更した項目のみ抜粋)
    # Project related configuration options
    ALWAYS_DETAILED_SEC    = YES
    JAVADOC_AUTOBRIEF      = YES
    OPTIMIZE_OUTPUT_FOR_C  = YES
    # Build related configuration options
    EXTRACT_ALL            = YES
    # configuration options related to the input files
    RECURSIVE              = YES
    # configuration options related to source browsing
    SOURCE_BROWSER         = YES
    REFERENCED_BY_RELATION = YES
    REFERENCES_RELATION    = YES
    # configuration options related to the HTML output
    GENERATE_TREEVIEW      = YES

実行

  • コンフィグファイルをソースコードと同じフォルダに置いて実行
    doxygen.exe config
  • 生成されたindex.htmlをブラウザで開くとこんな感じ Doxygenで生成したドキュメントサンプル

複雑な構成だと解析に時間がかかるかもしれないが、エラーには悩まされないはず。
オススメ。

関連記事


  1. Windowsのコマンドラインから7-Zipでtar.gz形式に圧縮する
  2. exampleSiteのローカルサーバ起動やビルドを1行で実行する
  3. Macのzsh上でFn-Deleteが動作しない問題
  4. MavenでOSSのライセンス一覧を出力する
  5. Hugoはじめました
  6. バーコードを生成するJavaサーブレット (Barcode4J)
  7. Wiresharkでスマートフォンアプリの通信パケット解析

tosi avatar
tosi
Web Application Engineer, Java / Spring / Azure / GCP
comments powered by Disqus