もっと愛情を込メント YumemiYougie-Project


使うための準備

マクロを使う前に Doxylabel.mac を編集し、自分の設定で使えるようにします。

ここでは必須、大体必要になる設定の方法を解説します。

 

使うにあたって必須となるのは

// 作成者
$AuthorName = "G.Nanashi"; // 何も置かない場合は = "";とする

プロジェクト内で通用する自身の名前を "G.Nanashi"の部分に記入します。

 

あとはデフォルトの設定でも大体使えますが複数の人間で作業し、互いに更新を使うならば以下の設定は合わせておいた方が良いでしょう。

// ドキュメントスタイル 0:JavaDocスタイル 1:Qtスタイル
#DocStyle = 0;

ドキュメントスタイル。 /** or /*! /// or //! を選択します。

 

// @〜 の後ろを何文字分空けるかの指定(タブに換算され、半端分は切り上げ。更新継承時前回と違う場合、正しく継承されない場合があります)
#KeyLength = 16;

通常は変える必要はありませんが皆さんがカスタマイズしている場合はそれに合わせたほうが良いです。

 

// 引数変数に * & が付加している場合のparam指定 0:[out] 1:[in,out]
#DefaultParamType = 1;

@paramに付加されるデフォルトの属性です。基本は[in,out]にしてコメントしてから不要な方を削除しますが
const でないポインタは必ず値の受け取りに使われているなら[out]に固定して問題ありません。

 

// 日付更新の追記法 0:新しい日付を更新者名と共に追加 1:最終更新者、日付を上書きし過去の物は破棄 2:更新しない(書式をDoxyLabel.mac仕様に変えたいだけの時)
#UpdateStyle = 0;
// 日付更新の昇降順 0:新しいものを下に追加していく 1;新しいものを上に追加していく
#UpdateOrder = 0;

更新の追記法。こちらもプロジェクトで統一して下さい。

その他表記、書式に関するものでコーディング規約に存在するもの等はカスタマイズして下さい。

違ったコーディングスタイルのコメントは更新に対応しなくなる場合があります。同じ環境で互いに更新するような状況では設定を合わせる事をお勧めします。

 

コンパイル環境に応じて修正しておきます。typedefされた型などは追加します。こちらもプロジェクトで統一されるはずです。

// 値なしになる型をリスト(主にvoid)
$NoRetType[ 0 ] = "void";
$NoRetType[ 1 ] = "VOID";
// ↑ 引数なしを表す型をリストする 引数()内に記述された場合@paramを作らない、戻り値に指定された場合 @return を作らない型

// @returnに記述するのに不要な「修飾子」(static,inline等)
$NoWriteModify[ 0 ] = "static";
$NoWriteModify[ 1 ] = "inline";

// @param に指定する時必ず入力固定になる「修飾子」(主にconst)
$InOnlyModify[ 0 ] = "const";
$InOnlyModify[ 1 ] = "CONST";

// @param に指定する時必ず入力固定になる「型」(constを含む型)
$InOnlyType[ 0 ] = "LPCSTR";
$InOnlyType[ 1 ] = "LPCTSTR";
$InOnlyType[ 2 ] = "LPCWSTR";

// 型名の頭についている時にポインタと判断する「文字」(一般的には"LP")
$MayOutHeader[ 0 ] = "LP";

// ポインタと判断する「型」(*を含む特殊な型)
$MayOutType[ 0 ] = "UTFSTR";

 

以下は若干秀丸マクロの知識が必要となりますが、単に追加するだけならば行をコピペして内容を書き換えるだけで十分です。

//■デフォルトパラメータ名判定
if( strstr( $$TEMP, "FILE" ) != -1 ) $$str = $$str + "ファイル"; // "FILE"を変数名に含む時 "ファイル"を付加
if( strstr( $$TEMP, "COPY" ) != -1 ) $$str = $$str + "コピー";
if( strstr( $$TEMP, "SLOT" ) != -1 ) $$str = $$str + "スロット";
if( strstr( $$TEMP, "PORT" ) != -1 ) $$str = $$str + "ポート";
if( strstr( $$TEMP, "POSITION" ) != -1 )$$str = $$str + "位置";
if( strstr( $$TEMP, "SRC" ) != -1 ) $$str = $$str + "元";
if( strstr( $$TEMP, "SOURCE" ) != -1 ) $$str = $$str + "元";
if( strstr( $$TEMP, "BUF" ) != -1 ) $$str = $$str + "バッファ";
if( strstr( $$TEMP, "STR" ) != -1 ) $$str = $$str + "文字列";
if( strstr( $$TEMP, "NAME" ) != -1 ) $$str = $$str + "名";
if( strstr( $$TEMP, "SIZE" ) != -1 ) $$str = $$str + "サイズ";
if( strstr( $$TEMP, "LENGTH" ) != -1 ) $$str = $$str + "長さ";
if( strstr( $$TEMP, "PTR" ) != -1 ) $$str = $$str + "ポインタ";

if( strstr( $$TEMP, "INDEX" ) != -1 ) $$str = $$str + "番号";
if( strstr( $$TEMP, "IDX" ) != -1 ) $$str = $$str + "番号";

if( rightstr( $$TEMP, strlen( "ENTRY") ) == "ENTRY" ) $$str = $$str + "数"; // 末尾が"ENTRY"の時、"数"を付加
if( rightstr( $$TEMP, strlen( "MAX") ) == "MAX" ) $$str = $$str + "最大数";
if( rightstr( $$TEMP, strlen( "LEN") ) == "LEN" ) $$str = $$str + "長さ";
if( rightstr( $$TEMP, strlen( "TYPE") ) == "TYPE" ) $$str = $$str + "タイプ";
if( rightstr( $$TEMP, strlen( "MODE") ) == "MODE" ) $$str = $$str + "モード";
if( rightstr( $$temp, strlen( "No") ) == "No" ) $$str = $$str + "番号"; // tempと比較すると大文字小文字を区別
if( rightstr( $$temp, strlen( "Pos") ) == "Pos" ) $$str = $$str + "位置";

自動解説文設定です。

上記の設定で FileNameEntry という変数名をつけたなら、"ファイル名数"という解説が自動的に書かれます。

if( strstr( $$TEMP, "FILE" ) != -1 ) $$str = $$str + "ファイル";
if( strstr( $$TEMP, "NAME" ) != -1 ) $$str = $$str + "";
if( rightstr( $$TEMP, strlen( "ENTRY") ) == "ENTRY" ) $$str = $$str + "";    <- strlen( "ENTRY")はENTRYを長さを指定するためのものです。==の後と同じ単語を入れます

FILEを含む = ファイル  NAMEを含む =  ENTRYが右側にある = 

 

if( strstr( $$TEMP, "FILE" ) != -1 ) $$str = $$str + "ファイル"; // "FILE"を変数名に含む時 "ファイル"を付加

上記の行では strstr( $$TEMP, "FILE" ) 変数名に"FILE"の文字を含む場合(大文字小文字を区別しない)

$$str = $$str + "ファイル";  "ファイル"を解説の末尾に追加します。

$$TEMPの部分を $$temp と小文字に変えると大文字小文字を区別するようになります。

if( rightstr( $$TEMP, strlen( "ENTRY") ) == "ENTRY" ) $$str = $$str + "数"; // 末尾が"ENTRY"の時、"数"を付加

では末尾に指定の単語がくる場合に追加します。

if(leftstr( $$TEMP, strlen( "ENTRY") ) == "ENTRY" ) $$str = "数" + $$str;

サンプルにはありませんが上記のように記述すれば先頭に指定文字が来る場合、解説の先頭に追加されるようになります。

 

解説文の生成は上から順番に行われるのでマクロの順序を工夫すれば結構便利な自動解説が作れます。