VisualStudioにおけるドキュメントの自動生成

documentation-visualstudio.png

doxygen

Visual Studio + Visioでのやり方

「プロジェクト」→「Visio UML」→リバースエンジニアリング

部品が用意されるのであとは手書きだ!
Visual Studio Express版ではこのメニューはありません。しくしく
なので、doxygenを使うのが良いでしょう。

クラスライアグラムの表示.cd

ソリューションエクスプローラを右クリック→「クラスダイアグラムの表示」

クラスダイアグラムの「概要」に表示されるようなコメントの書き方

メンバ変数の場合

.hファイルに横に書いたコメントが認識される。

char m_cLatitude;//緯度 1.5倍単位

メンバ関数の場合

横に書いたコメントが認識される。

void CBlockHeader::Info(){//ここに概要を書く
}

http://msdn.microsoft.com/ja-jp/library/vstudio/ms177227.aspx
http://msdn.microsoft.com/ja-jp/library/s0we08bk(v=vs.80).aspx
によると、上に書いてもいいみたい?

XMLファイル出力させるためのコメント

こうやって書くと認識される。

};
class CBlockHeader{
public:
    /// <summary>
    ///  これ???.
    /// </summary>
    /// <remarks>
    /// こねんとだよ~
    /// </remarks>
    void Info();
public:
    char m_cLatitude;//緯度 1.5倍単位
    char m_cLongitude;//経度
    char m_cMeshCode;//2次メッシュコード 1次メッシュ内での位置を表現する
    char m_cNumCell;//セル数 同一緯度の経度方向に連続した2次メッシュ数
};

show.png

関数の引数の場合

class CSolutionHeader{//64バイト
public:
    CSolutionHeader();
    ~CSolutionHeader();
    void Info();
    unsigned char* front();//先頭ポインタを返す
    bool isValidData();
     /// <param name="_val">_valを渡すと、情報を返してくれる</param>
    void DataType1(unsigned char _val);
    void DataType3(unsigned short _little_endianess);
    string Name();
    unsigned short AreaCode();
    static void CSolutionHeader::Init();
    unsigned char m_cStartId;//スタートID #FD固定
    unsigned char m_cRegional_dev_bureauId;//地方整備局ID
    unsigned char m_cData_type1;//データ種別1 
    unsigned char m_cData_type2;//データ種別2
    unsigned short m_sData_type3;//データ種別3
    unsigned char m_sHeader_type;//ヘッダ種別
    unsigned char m_cObserve_val_id;//(7)観測値識別

params.png

XMLdocを作成するようなコンパイルオプションにする

xmldoc.png
すると、Debugフォルダにプロジェクト名.xmlファイルができる
<?xml version="1.0"?>
<doc>
    <assembly>
        "ConvertSolutionToKml"
    </assembly>
    <members>
        <member name="M:CSolutionHeader.DataType1(System.Byte)">
            <param name="_val">_valを渡すと、情報を返してくれる</param>
        </member>
        <member name="M:CBlockHeader.Info">
            <summary>
 これ???.
</summary>
            <remarks>
こねんとだよ~
</remarks>
        </member>
    </members>
</doc>

サポートサイト Wikidot.com