Doxygen【汎用ドキュメントジェネレータ】

概要 コマンド等 ( Doxygen コマンド・HTML タグ・XML コメント・マークダウン・設定 )
コメントブロック ( C / C++ / C# / Objective-C / PHP / Java Python VHDL Fortran Tcl )
定義別の記述例

概要

  • Doxygen (汎用ドキュメントジェネレータ・コマンド仕様) のメモ
    • このドキュメントの対象:Doxygen 1.10.0 (2023-12-25)
    • ソースコードを解析しドキュメント化
    • 対応言語:C++・C・Objective-C・C#・PHP・Java・Python・IDL (Corba・Microsoft・UNO/OpenOffice 風)・Fortran・VHDL ・Tcl 1.8.18・D (ある程度)
    • 出力ドキュメント: Eclipse Help・DocBook・HTML・HTML Help・LaTeX・Man pages・RTF・PostScript・PDF・Qt Help・XCode DocSets・XML (インデックスファイルの出力を含む)
    • 他のツールを使用することで、クラス図・コラボレーション図・呼び出し関係図・UML図・シーケンスチャート・数式等の挿入が可能  (図の生成・挿入)
  • 公式サイト (外部リンク)

コマンド等


コメントブロック

C / C++ / C# / Objective-C / PHP / Java

  • 前置
    • 【複数行コメント】
      /**
       * コマンド等
       */
      各種宣言
      
      /*!
       * コマンド等
       */
      各種宣言
      
    • 【中間の * の省略】
      /**
       コマンド等
       */
      各種宣言
      
      /*!
       コマンド等
       */
      各種宣言
      
    • 【単一行コメント】
      ///
      /// コマンド等
      ///
      各種宣言
      
      //!
      //! コマンド等
      //!
      各種宣言
      
    • 【上記の応用】
      /**************************************
       * コマンド等 (JAVADOC_BANNER1.8.16 = YES)
       **************************************/
      各種宣言
      
      ////////////////////////////////////////
      /// コマンド等
      ////////////////////////////////////////
      各種宣言
      
  • 後置
    各種宣言 /*!< コマンド等 */
    各種宣言 /**< コマンド等 */
    各種宣言 //!< コマンド等
    各種宣言 ///< コマンド等
    
  • 外部リンク

Python

  • 後置
    • 【Python標準】
      各種宣言
          '''
          Doxygenのコメントとして使用 (PYTHON_DOCSTRING1.8.20 = NO)
          '''
      
      各種宣言
          '''
          ドキュメンテーション文字列 (詳細として出力・Doxygenコマンド未サポート)【上記以外】
          '''
      
  • 前置
    • 【Doxygen準拠】
      ## コマンド等
      # コマンド等
      各種宣言
      
  • 外部リンク

VHDL

Fortran

  • 前置
    • 【Doxygen準拠】
      !> コマンド等
      !! コマンド等
      !! コマンド等
      各種宣言
      
      !> コマンド等
      !> コマンド等
      !> コマンド等
      各種宣言
      
      !< コマンド等
      !! コマンド等
      !! コマンド等
      各種宣言
      
      !< コマンド等
      !> コマンド等
      !> コマンド等
      各種宣言
      
  • 外部リンク

Tcl 1.8.18

  • 前置
    • ## コマンド等
      # コマンド等
      各種宣言
      
    • 後置
      各種宣言;#< コマンド等
      

定義別の記述例

定義例 (C++)備考
設定 設定については下記参照
簡易設定
設定オプション一覧
プロジェクト設定
全般 コメントなし EXTRACT_ALL【有効コメントなし項目の詳細出力有無】=YES 指定で出力
既存ファイルのドキュメント化・記述チェック等で有用
ファイル
/// @file
/// @brief ファイルの概要
/// @author ファイルの開発者
/// @date ファイルの作成日
/// @details ファイルの詳細
自ファイルはファイル名省略可
詳細は @file【ファイル情報】参照
名前空間
/// @brief 名前空間の概要
/// @details 名前空間の詳細
namespace MyNamespace
{
}
通常、@namespace【名前空間】は省略
マクロ
/// @file

/// @brief マクロの概要
/// @details マクロの詳細
#define DEF_ONE 1
通常、@def【マクロ定義 (#define)】は省略
@file【ファイル情報】は必須
型定義
/// @file

/// @brief 型定義の概要
/// @details 型定義の詳細
typedef unsigned int UINT;
通常、@typedef【型定義】は省略
グローバル定義では @file【ファイル情報】は必須
列挙型
/// @file

/// @brief 列挙型の概要
/// @details 列挙型の詳細
enum MyEnum
{
    ENUM_1,  ///< 列挙子1の概要
    ENUM_2   ///< 列挙子2の概要
};
通常、@enum【列挙型】は省略
グローバル定義では @file【ファイル情報】は必須
グローバル変数
/// @file

/// @brief グローバル変数の概要
/// @details グローバル変数の詳細
int GlobalVar;
通常、@var【変数・列挙子】は省略
@file【ファイル情報】は必須
グローバル関数
/// @file

/// @brief グローバル関数の概要
/// @details グローバル関数の詳細
/// @param [in] p 引数の説明
/// @return 戻り値の説明
int GlobalFunc(int p) {
    return p;
}
通常、@fn【関数・メソッド】は省略
@file【ファイル情報】は必須
クラス
/// @brief クラスの概要
/// @details クラスの詳細
class MyClass
{
public:
    int varPublic = 0;  ///< 変数の概要

    /// @brief コンストラクタの概要
    /// @details コンストラクタの詳細
    /// @param [in] p 引数の説明
    MyClass(int p) {

    }

    /// @brief メソッドの概要
    /// @details メソッドの詳細
    /// @param [in] p 引数の説明
    /// @return 戻り値の説明
    int methodPublic(int p) {
        return p;
    }
};
通常、@class【クラス】は省略
構造体
/// @file

/// @brief 構造体の概要
/// @details 構造体の詳細
struct MyStruct {
    int member_1;  ///< メンバ1の概要
    int member_2;  ///< メンバ2の概要
};
通常、@struct【構造体】は省略
グローバル定義では @file【ファイル情報】は必須
共用体
/// @file

/// @brief 共用体の概要
/// @details 共用体の詳細
union MyUnion {
    char c;  ///< メンバ (char型) の概要
    int i;   ///< メンバ (int型) の概要
};
通常、@union【共用体】は省略
グローバル定義では @file【ファイル情報】は必須