[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Jenkins構築手順]]
-[[戻る>ドキュメンテーション・ツール]]

* 目次 [#i225bdc1]
#contents

*概要 [#cda255c2]
-Doxygenは、フリーのソースコードからのドキュメント生成ツールです。
-Doxygenは、フリーのソースコードからのドキュメント生成ツール。

-Doxygenは、プログラムの構造とコメントを元に、ドキュメント生成します。
-Doxygenは、プログラムの構造とコメントを元に、ドキュメント生成する。

-さらに、Graphvizというツールを組み合わせて使うことで、~
クラスや関数、ファイルの関係を図にして表示することが可能です。
クラスや関数、ファイルの関係を図にして表示することが可能。

-Java、C、C++、C++/CLI、C#、PHP、Fortranなどに対応しています。
-Java、C、C++、C++/CLI、C#、PHP、Fortranなどに対応(VBでは利用できない)。

-以下のような、コールグラフ情報もアウトプットする。

--下位メソッドから上位メソッドを辿ることが難しい(上位メソッドは図に出力されない)。
--仮想関数呼び出しがある場合、インスタンス型を特定できないため、派生クラスのメソッドから基本クラスのメソッドを辿れなくなる。
#ref(DoxygenXref.png,left,nowrap,DoxygenXref)

**入手方法 [#t65fe8cc]
以下からダウンロードして下さい。

-Doxygen配布サイト
--http://www.doxygen.jp/
--http://www.stack.nl/~dimitri/doxygen/download.html

-Graphviz配布サイト
--http://www.graphviz.org/
--http://www.graphviz.org/Download.php

**手順 [#m976a75f]

***インストール [#u67e687e]
いずれもデフォルトのインストールで問題ありません。

***設定ファイルを開く [#t75d37da]

+添付のZIPをダウンロードして任意のフォルダに解凍します。~
&ref(doxygen.zip);

+Doxygenを起動し、[File]メニューの[Open]を選択します。
+\doxygen\work内の任意の設定ファイルを開きます。

***設定を行う [#g7d85085]
+Doxygenの[Wizard]タブの設定を行います。
++project:Project name、Project version or id
+Doxygenの[Expert]タブの設定を行います。
++Input:INPUT_ENCODING

***ソースを配置する [#d38bed33]
+\doxygen\Code以下のフォルダにソースファイルを配置します。
++CPPフォルダ:C,C++,VC++
++Javaフォルダ:Java
++CSフォルダ:C#

***ドキュメントを出力する [#s88470ce]
+Doxygenの[Run]タブの[Run doxygen]ボタンを押下します。
+\doxygen\outフォルダ以下に結果が出力されます。

**その他 [#j6a8b55a]
***設定 [#l08aa169]
-設定は、以下のタブから行います。
--[Wizard]タブ
--[Expert]タブ
-[Expert]タブがconfigurationのフルセットになっています。

-設定値を確認するには、~
[Run]タブの[Show configuration]ボタンを押下して下さい。

-設定の保存
++Doxygenを起動し、[File]メニューの[Save]・[Save as...]を選択します。

***マニュアル [#q51bebdc]
詳しくは以下のサイトを参照下さい。

-Doxygen Manual Overview~
http://www.stack.nl/~dimitri/doxygen/manual/index.html

-Doxygen Manual Configuration~
http://www.stack.nl/~dimitri/doxygen/manual/config.html

***サンプル [#l3e85823]
以下のサイトはDoxygenで生成したドキュメントのサンプルです。
-wordpress~
http://onlineconsultant.jp/doxygen/wordpress-2.8.4-ja/
-zen-cart~
http://onlineconsultant.jp/doxygen/zen-cart-1.3.0.2-jp/

**FAQ [#b22936e8]
-doc形式で出力できないか?
--DoxgenでRTF形式で出力し、Wordで参照することが可能です。

-JavaDocのHTMLのイメージを変えずに doc形式で出力できないか?
--DocFlexというツールで、JavaDocのイメージを崩さないでRTF形式で出力できそうです。

--参考
---DocFlex-Javadoc - Basic Templates~
http://www.filigris.com/products/docflex_javadoc/templates/javadoc/#output.rtf~
http://www.filigris.com/products/docflex_javadoc/templates/javadoc/templates.php#PlainDoc.tpl

--ライセンス(Limited Free / 30-day license )に問題が有るようなら、~
PDFDoclet(LGPL)も考えられる(未評価)。

--参考
---PDFDoclet - PDFDoclet~
http://pdfdoclet.sourceforge.net/
---MORIWAKI.NETのメモ帳 - JavaDocをPDFで出力~
http://moriwaki.net/cms/?p=527

-ローカル変数を出力したい。
--出来ないようなので、メソッド内コメントでの対応を検討下さい。
--メソッド内コメントでの対応も一般的な解決策であるようです。
--/*! ~コメント~ */でメソッド中コメントを記述可能。

--参考
---Doxygen user discussions and queries~
http://blog.gmane.org/gmane.text.doxygen.general/month=20030601
---objective c - Documenting variables with Doxygen in C - Stack Overflow~
http://stackoverflow.com/questions/2064871/documenting-variables-with-doxygen-in-c
---sourceforge.net Doxygen doxygen-users~
http://sourceforge.net/mailarchive/forum.php?thread_name=8a7570670801251331s3e31a95ei6aac29789dc13a5a%40mail.gmail.com&forum_name=doxygen-users
---日本語情報は少ないので、
Googleで「Doxygen local variables」を
キーワードにして検索してみて下さい。

-VC++で結果が正しく表示されない。
--__declspecのキーワードで解析エラーが起きるようです。
--以下のプリプロセッサ設定が必要になるようです。
---ENABLE_PREPROCESSING   = YES
---MACRO_EXPANSION        = YES
---EXPAND_ONLY_PREDEF     = YES
---PREDEFINED             = __declspec(x)=

--参考
---Bug 323561 ? No Doxygen template comments for extern C void myFunc(int param)~
https://bugs.eclipse.org/bugs/show_bug.cgi?id=323561
---Doxygen~
http://www.stack.nl/~dimitri/doxygen/preprocessing.html

----
Tags: [[.NET開発]], [[:ドキュメンテーション]], [[:CI]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS