有太多时间我遇到需要为列表编写加法器/删除器方法:
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 + Space)...
任何想法如何完成这样的事情......也许指向我特定于这类主题的阅读材料。
** 更新 **
好吧,这就是我到目前为止所拥有的:
public final void add${type:elemType(collection)}(${type} ${varName:newName(type)}) {
${collection}.add(${varName});
}
不过,这是问题所在,如果我输入“add”+(Ctrl + Space):
在类级别,集合被声明为一个字段,我得到一个空变量作为集合。
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});
}
谢谢,
亚当。