Doxygen
作者 | Dimitri van Heesch |
---|---|
最新版 |
1.12.0
/ 2024年8月7日[1] |
リポジトリ | |
プログラミング 言語 | C++、その他[2] |
対応OS | Linux, Windows, macOS |
種別 | ドキュメンテーションジェネレータ |
ライセンス | GNU General Public License v2.0 |
公式サイト | https://www.doxygen.nl/ |
Doxygen(ドキシジェンまたはドクシジェン)は、C++、C言語、Java、C#、Objective-C、Fortran、Python、PHP、IDL[注釈 1]、VHDL、Lexに対応したドキュメンテーションジェネレータである。他にも、D言語でもある程度利用可能となっている[2]。多くのUnix系システム、Windows、macOSで動作する。Doxygenのコードの大部分は Dimitri van Heesch によって書かれた。
KDEは文書の一部にDoxygenを利用しており、KDevelopは組み込みでサポートしている。
概要
[編集]Javadocのように、Doxygenはコンピュータ言語(プログラミング言語)のソースファイルをパースして、コメントから文書を抽出・変換・生成する。Javadocの文法に加えて、Qtツールキットで使われるドキュメンテーションタグをサポートしており、HTML形式だけでなく、CHM、RTF、PDF、LaTeX、PostScript、manページ形式の文書を生成できる。
統合開発環境 (IDE) の中には、プログラム要素に対して記述されたDoxygenコメントをもとに、ツールヒントでそのプログラム要素に関する情報を表示するものも存在する。コード入力補完の際に関数やメソッドの各パラメータに対する説明を適宜表示するものもある。
コード例
[編集]以下のコード例は、Doxygenで文書生成可能な形式である。
/**
* The time class represents a moment of time.
*
* \author John Doe
*/
class Time {
public:
/**
* Constructor that sets the time to a given value.
* \param timeMillis A number of milliseconds passed since Jan 1, 1970.
*/
explicit Time(long long timeMillis) {
// ...
}
/**
* Get the current time.
* \return A time object set to the current time.
*/
static Time now() {
// ...
}
};
コメント内にバックスラッシュ\
またはアットマーク@
で始まる「特殊コマンド」[3]とその引数 (argument) を記述することで、プログラムソースコード中の各構成要素に対する説明を記述した定形的な文書を自動生成することができる。いくつかの特殊コマンドはJavadocとも互換性があるが、Doxygenでしか使えない独自のものも多い。
脚注
[編集]注釈
[編集]- ^ CORBA、マイクロソフトのMIDL形式、UNO/OpenOfficeに対応。
出典
[編集]関連項目
[編集]- ソフトウェアドキュメンテーション
- Eclox : Eclipse向けのDoxygenフロントエンドフリーソフトウェアプラグイン。GNU General Public Licenseでライセンスされている。
- Graphviz : DoxygenはC++、Java、Pythonなどについてクラス階層図などをGraphVizと連携して生成できる。
外部リンク
[編集]- SourceForge homepage
- MediaWiki documentation Doxygen で作成
- 日本語の非公式翻訳サイト[リンク切れ] - Doxygen v1.5.9への対応を最後に、更新は止まっている。
- 日本語の非公式翻訳サイト - Doxygen v1.8.11への対応を最後に、更新は止まっている。