search
LoginSignup
4

More than 3 years have passed since last update.

posted at

updated at

MacでDoxygenのGUIとGraphvizを使ってC#のクラス図を生成する使い方

はじめに

Doxygenを使用してC#プロジェクトを図にして欲しいと頼まれたので使い方を備忘録。
Macでは主にコマンドラインを使用しているが、Doxyfileの内容を理解したかったので、
今回はインストーラーからGUIを使用する。

ダウンロード

Doxygen
https://sourceforge.net/projects/doxygen/files/rel-1.8.15/
しばらく更新入ってないが、現時点で最新の上記からDoxygen-1.8.15.dmgをインストール。

Graphviz
dot言語をクラス図で出力する。以下のコマンドでダウンロード。

$ brew install graphviz
$ dot -V
dot - graphviz version 2.40.1 (20161225.0304)

設定

Doxygenのインストールパス

/Applications/Doxygen.app/Contents/Resources

Graphvizのインストールパス

/usr/local/Cellar/graphviz/2.40.1/bin

上記を踏まえた上で設定を行っていく。

1.起動する
Step1の部分にはインストールしたDoxygen自身のパスを指定しなければいけない。
しかも実行ファイルではなく、実行ファイルのあるディレクトリを設定する。
つまりDoxygen-1.8.15.dmgをインストールすると
/Applications/Doxygen.app/Contents/Resources/doxygen
に実行ファイルが配置されるが、最初に記載したDoxygenのインストールパスを指定。
注意点として、パスの設定は右側のSelect...ボタンを使用しないと反映されない。
1.png
2.Modeを選択
2.png
3.Outputを選択
3.png
4.Diagramsを選択
4.png
5.Expertタブを選択
OUTPUT_LANGUAGEをJapaneseにする(お好み)
5.png
6.そのままExpertタブの状態でTopicsをスクロール
DOT_PATHには最初に記載したGraphvizのインストールパスを設定。
諸々の設定が完了したらNextボタンを押下する。
6.png
7.赤いところを押すと実行される。
Show HTML outputにて出力されたHTMLを開ける。
(指定した出力ディレクトリのindex.html)
Show configurationにてGUIで設定したDoxyfileが見れる。
7.png

デフォルトのDoxyfileとの差分

PROJECT_NAME           = "UserProject"
OUTPUT_DIRECTORY       = /Users/user/Documents/
OUTPUT_LANGUAGE        = Japanese
OPTIMIZE_OUTPUT_JAVA   = YES
EXTRACT_ALL            = YES
INPUT                  = /Users/user/work/Project/Scripts
RECURSIVE              = YES
GENERATE_LATEX         = NO
CLASS_DIAGRAMS         = NO
HAVE_DOT               = YES
CALL_GRAPH             = YES
CALLER_GRAPH           = YES
DOT_PATH               = /usr/local/Cellar/graphviz/2.40.1/bin

終わりに

dmgでインストール後デフォルトのDoxyfileは以下のコマンドで生成できる。

$ /Applications/Doxygen.app/Contents/Resources/doxygen -g

生成先は$HOMEになる。

GUIで設定したものはDoxygen実行後×でウインドウを閉じようとすると
Doxyfileの保存先を選択できるので、
その時に保存すれば設定したDoxyfileが作成される。
(逆にそうしないと設定が保存されない)
保存したDoxyfileを開くには、Doxygenを起動後、
ファイル→開くDoxyfileを選択しないと読み込まれない。

以上です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4