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. Dependency Review Actionのライセンスチェック機能に関する調査メモ
  2. クエリパラメータを使ってお手軽にGitHubのプルリクを作成する
  3. 他の人には読めない形式でGitHubのSecretsの値を読み出す
  4. GitHub Actionsでプルリクのコメントに複数行テキストを投稿する
  5. GitHub Actionsでエラーの時だけ特定の処理を実行する
  6. Tera Termのマクロで、パスワードを扱う操作を自動化する
  7. HugoテンプレートをOGPやTwitter Cardsに対応する

comments powered by Disqus