Слишком много раз я сталкиваюсь с необходимостью писать методы сумматора / удаления для списков:
public void addSomething(Something something){
somethings.add(something);
}
public void removeSomething(Something something){
somethings.remove(something);
}
Если я правильно понял, шаблоны Eclipse могут поддерживать автозаполнение ... например,если у меня есть:
Vector<Something> somethings=new Vector<Something>();
, я бы хотел, чтобы шаблон добавил метод к автозаполнению Eclipse, и автоматически завершил бы метод whole :
public void addSomething(Something something){
somethings.add(something);
}
когда я набираю " add " + ( Ctrl + Пробел ) ...
Любая идея, как сделать что-то вродеэто ... возможно, укажет мне материал для чтения, относящийся к этой теме.
** ОБНОВЛЕНИЕ **
Ну, это то, что у меня есть до сих пор:
public final void add${type:elemType(collection)}(${type} ${varName:newName(type)}) {
${collection}.add(${varName});
}
Вот проблема, хотя, если я наберу "add" + (Ctrl + Space):
На уровне класса, и коллекция объявлена как поле, я получаю пустую переменную какcollection.
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});
}
Спасибо,
Адам.