最近、コードを書く際にメインで使用するエディタを
VisualStudioからVimに移行したのだけど、
VisualStudioを使っていた際は、Doxygen用の関数コメントを生成する自作アドインを使っていたのだけど、当然のことながらVimだとその機能を利用することができない。
で、既存のスクリプトで代用できないか探してみたのだけど、
ちょうどいいのを見付けられなかったので、自作してみまんた。
ということで晒してみるテスト。
これは何か
C/C++向けの、関数コメントを生成するスクリプトです。
関数部分をビジュアルモードで選択して、機能を実行すると、
選択した部分の書式を解析して、定型文を生成・挿入します。
また、一度生成したコメントを含めて関数部分を選択し、
再実行すると、以前のコメントも解析して再出力します。
引数を追加/削除した際に、それが反映されます。
使い方
関数部分をビジュアルモードで選択して、mキーで機能を実行します。
出力するコメントの形式は、ある程度、設定でカスタマイズすることができます。
以下、パラメータの説明です。
g:dsfcg_format_header
関数コメント先頭部の書式を指定します。
g:dsfcg_format_footer
関数コメント末尾部の書式を指定します。
g:dsfcg_comment_words
コメント開始、終了を表すキーワードをリストで記述します。
g:dsfcg_element_order
関数コメント内での出力順序を指定します。
たとえば、"DRA"と記述した場合は、
関数説明,戻り値,引数リスト という順序でコメントを生成します。
コメント新規生成時、"D"行は、g:dsfcg_default_descriptionN(1〜)の設定値を出力します。
関数説明行を複数行出力する場合には、
"DDRA"のように出力する行数だけ'D'を記述し、
g:dsfcg_default_description1="..." g:dsfcg_default_description2="..."
のように出力行数分だけ、定型文を設定します。
g:dsfcg_is_alignment
関数を整形出力するか?を指定
g:dsfcg_default_descriptionN(1〜)
関数コメント新規作成時の関数説明記述部の定型文
g:dsfcg_text_type_input
引数の入出力タイプ(入力)を表すワード
g:dsfcg_text_type_output
引数の入出力タイプ(出力)を表すワード
g:dsfcg_text_type_inout
引数の入出力タイプ(入出力)を表すワード
g:dsfcg_template_argument
関数コメント新規作成時の、引数説明行の出力書式
- %inout 入出力タイプ
- %name 引数名
- %description 説明文
g:dsfcg_regexp_argument
既存の関数コメントを解析する際の、引数説明行を識別するための正規表現パターン
g:dsfcg_escapetext_argument
g:dsfcg_regexp_argumentでの正規表現マッチングを行った結果、
どのグループが、どの要素に対応するか(,区切りで指定)
g:dsfcg_template_return
関数コメント新規作成時の、戻り値説明行の出力書式
- %description 説明文
g:dsfcg_regexp_return
既存の関数コメントを解析する際の、戻り値説明行を識別するための正規表現パターン
g:dsfcg_escapetext_return
g:dsfcg_regexp_returnでの正規表現マッチングを行った結果、
どのグループが、どの要素に対応するか(,区切りで指定)
g:dsfcg_enable_mapping
'vmap m :
デフォルトのキーマッピングを有効にするか