リストの adder/remover メソッドを記述する必要に遭遇することが多すぎます。
public void addSomething(Something something){
somethings.add(something);
}
public void removeSomething(Something something){
somethings.remove(something);
}
私が正しければ、Eclipse テンプレートはオートコンプリートをサポートできます...たとえば、次の場合:
Vector<Something> somethings=new Vector<Something>();
テンプレートでメソッドを Eclipse のオートコンプリートに追加し、メソッド全体をオートコンプリートしたいと考えています。
public void addSomething(Something something){
somethings.add(something);
}
「追加」 + ( Ctrl +スペース) と入力すると...
このようなことをどのように達成するかについてのアイデア...おそらく、この種の主題に固有の読み物を教えてください。
** アップデート **
さて、これは私がこれまでに持っているものです:
public final void add${type:elemType(collection)}(${type} ${varName:newName(type)}) {
${collection}.add(${varName});
}
ただし、ここに問題があります。「追加」+ (Ctrl + スペース) と入力すると、次のようになります。
クラス レベルでは、コレクションがフィールドとして宣言されているため、空の変数をコレクションとして取得します。
public final void addtype(type type) {
collection.add(type);
}
メソッド レベルでは、コレクションがフィールドとして宣言されているため、空の変数をコレクションとして取得します。
public final void addtype(type type) {
collection.add(type);
}
メソッドレベルでは、コレクション参照はメソッドのローカル変数ですが、正しい構文を取得しますが、add メソッドは他のメソッド内にあります。
public void method(...) {
public final void addSomething(Something something) {
this.somethings.add(something);
}
}
つまり、フィールド レベルの参照を取得できません。どうすれば取得できますか?
** 更新 2 **
これも同じ結果になります。
public final void add${type:elemType(collection)}(${type} ${varName:newName(type)}) {
${collection:field(java.util.Collection)}.add(${varName});
}
public final void remove${type:elemType(collection)}(${type} ${varName:newName(type)}) {
${collection:field(java.util.Collection)}.remove(${varName});
}
ありがとう、
アダム。