- PR -

[Eclipse3.0]getter/setter自動生成時のJavaDocコメントのカスタマイズについて

1
投稿者投稿内容
ASA
会議室デビュー日: 2004/05/27
投稿数: 6
投稿日時: 2004-07-16 11:42
こんにちは。ASAと申します。

Eclipseが3.0になってgetter/setterの自動生成が強力になったという話を聞いたので試しているのですが、以下のような事は出来ないのでしょうか?

---------やりたい事-----------

---こんな内部値とコメントがある場合に
private int _suryo = 0; //数量

---もしくはコメントの付け方は以下でもOK
/**
* 数量
*/
private int _suryo = 0;

Eclipse3.0のgetter/setter自動生成機能で

/**
* 数量のsetter
* @param suryo 数量を設定します。
*/
public void setSuryo(int suryo) {
_suryo = suryo;
}

というコードを吐き出したいです。(「数量」という変数のコメント部分に記述した文字列をJavaDocに反映させたい)


実際に試してみると、
/**
* @param suryo suryo を設定します。
*/
public void setSuryo(int suryo) {
_suryo = suryo;
}

このようなコードは作れるのですが、「suryoを設定します。」というところを「数量を設定します。」としたいと思っています。

ヘルプを見ると、「You can insert your own template variables」(自分のテンプレート変数を挿入できる?)とあるので変数宣言時のコメント部分を持ってくるようなテンプレート変数を自分で作成できれば目的が達成できるような気がするのですが、テンプレート変数をどうやって作ればよいのかわかりません。

以上、もしご存知の方がいらっしゃったら教えて下さい。
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-07-18 23:14
試してみましたが、ご所望の機能はできないようです。

getter/setter メソッド自動生成時に付けられるコメントのテンプレートには、組込みの変数しか使えません。勝手に ${aaa} などと変数を入れようとすると「そんな変数はない」と出力されて、テンプレート編集を終了できなくなります。

一方、コードアシスタントテンプレートというものもあって、こちらはユーザ定義の変数が作成できます。
例えば、int_loop というコードアシスタントテンプレートが Java モードで起動されるように設定し、テンプレートの内容を以下のようにしておくと、ループ変数名を示す ${loopVar} のうちの一つを編集すると他の場所もすべて同期して変わります。

コード:
for (${loopVar} = ${initVal}; ${loopVar} < ${maxVal}; ++${loopVar}) {
  ${cursor}
}



ヘルプにあるメッセージはこのことを示しているのではないでしょうか。

もし、お望みのことを実現するとなると、フィールド _suryo に対するコメント「数量」をハッシュマップか何かの形で関連付けて管理する必要がありますが、Eclipse の標準機能ではそこまで対応していないように見えます。
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2004-07-19 13:37
そう言えばEclipseのFrontPageでそんな質問した気がする・・・。
Eclipseと言えばプラグインが充実していてこそ使い甲斐が有るので、
まだ3.0は試していないのですが、出来ないとの回答が出ていますね。
やはり作っているメンバーが英語圏の方だと、英語のプロパティに
対して日本語のコメントを付けるという発想にはならないのでしょう。
これは別途プラグインを作成する方が早そうですね。
ASA
会議室デビュー日: 2004/05/27
投稿数: 6
投稿日時: 2004-07-23 09:26
こんにちはASAです。

Gioさん・おかもとさん、お返事が遅くなってすいません。
そうか、できないんですねー。
でも、2.1よりはましになっているので、我慢する事にします。

有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)