- 1. 概要
- 2. テンプレート追加
1. 概要
拡張機能、「Documentation Generator」のカスタマイズについて、少し、つっこんでみます。
2. テンプレート追加
「C/C++」の関数・メソッドは、デフォルトで。
int main(int argc, char* argv[])
{
return 0;
}
てなソースの関数の前で「/**」Enter すれば。
/**
* @brief
*
* @param argc
* @param argv
* @return int
*/
int main(int argc, char* argv[])
・・・ 略 ・・・
と、つけてくれるのありますが・・・。
これが、デフォルトのテンプレートで。
// The order to use for the comment generation. Values can be used multiple times. Valid values are `brief`, `empty`, `tparam`, `param`, `return`, `custom`, `author`, `date`, `version` and `copyright`.
"doxdocgen.generic.order": [
"brief",
"empty",
"tparam",
"param",
"return",
"custom"
],
てな、定義があるかららしい。
このテンプレートを変えたいのだ。
ある、プロジェクトで、最後に、「@attention」(注記)ちゅう記述が必須になっているのだ。
「@brief」の後ろの空白行もいらないしね。
てことで、ユーザかプロジェクトの「setting.json」に
"doxdocgen.generic.order":
[
"brief",
"tparam",
"param",
"return",
"attention",
],
と書けば、「@brief」の後ろの空白行はなくなります。
だがしかし、「@attention」は、出力してくれない。
出力するためには・・・。
c:/Users/ユーザ名/.vscode/extensions/cschlosser.doxdocgen-1.4.0/out/Lang/Cpp/CppDocGen.js
を編集します(バージョン番号は変わるかもしれないので、ご注意)。
generateCommonTag(lines, tags) {
switch (tags) {
case "brief": {
this.insertBrief(lines);
break;
}
case "empty": {
lines.push("");
break;
}
case "version": {
this.generateVersionTag(lines);
break;
}
case "author": {
this.generateAuthorTag(lines);
break;
}
case "date": {
this.generateDateFromTemplate(lines);
break;
}
case "copyright": {
this.generateCopyrightTag(lines);
break;
}
default: {
break;
}
}
}
227 と 228行の間に、下記の1行をぶっこみます。
case "attention": {
lines.push("@attention");
break;
}
「Visual Studio Code」を再起動して、さきほどと同じ手順をふむと、自動生成されるコードが。
/**
* @brief
* @param argc
* @param argv
* @return int
* @attention
*/
int main(int argc, char* argv[])
・・・ 略 ・・・
となります。
|