Есть ли ярлык для добавления полей в существующий конструктор в Eclipse?
Есть ли ярлык в Eclipse, который позволяет мне добавить поле в список аргументов существующего конструктора?
Пример:
Я hava этот класс:
public class A {
int a;
int b;
public A(int a, int b) {
this.a = a;
this.b = b;
}
}
когда я добавляю поле int c
(или много полей), я хочу добавить его в список аргументов конструктора и назначить параметр полю:
public class A {
int a;
int b;
int c; //this is new
public A(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
}
В настоящее время я делаю это, создавая параметр вручную, а затем нажмите CTRL + 1
а затем выберите "назначить параметр полю",
но если я добавлю сразу несколько полей, это не очень хорошее решение imho.
Я не хочу создавать новый конструктор!
Ответы
Ответ 1
Я бы сначала использовал рефакторинг подписи "change method signature" (опция + команда + c на mac), чтобы добавить дополнительные параметры к конструктору. Таким образом, существующий код, который вызывает конструктор, может передавать разумные значения по умолчанию в качестве параметров (если хотите). Затем выберите столько раз CTRL + 1, чтобы быстро исправить новые поля в класс, как вы предложили.
Ответ 2
Чтобы использовать этот ярлык в Intellij, переменная должна быть окончательной и частной.
- Объявите свою переменную окончательной.
Ex: private final Строковое имя;
-
В MAC-системе ярлык - Option + Return, я считаю, что в окнах Alt + Enter.
-
Затем нажмите "Добавить конструктор".
Удачи!
Ответ 3
Добавьте параметр в конструктор и нажмите alt + Enter (Control Assist), и вы получите возможность создать поле для параметра, а затем нажмите Enter. Это доступно в последней версии IntelliJ 2017.2.
Ответ 4
Единственная короткая команда в этой области, о которой я знаю, - это "генерировать конструктор с использованием полей", который доступен при нажатии Alt + S. Может быть, это может немного помочь. Вот еще одна полезная информация о ярлыках.
http://www.vogella.com/articles/EclipseShortcuts/article.html
Ответ 5
Вы можете попробовать это
- Щелкните правой кнопкой мыши класс java
- Источник- > Генерировать конструктор с использованием полей.
- Выберите супер конструктор для использования и переменные экземпляра для добавления в конструктор.
Ответ 6
- Скопируйте любую дополнительную логику в старый конструктор в буфер обмена (ни один в вашем примере).
- Удалить старый конструктор.
- Создайте новый конструктор с
ALT+insert
→ constructor
→ CTRL+A
→ ENTER
- Вставить любую дополнительную логику, скопированную на шаге 1.
Ответ 7
В Eclipse:
- В конструкторе выберите новый параметр
- нажмите ctrl + 1
- выберите "Присвоить параметр новому полю"
Новое поле будет создано и будет установлено в вашем конструкторе.
Ответ 8
Используйте alt + shift + s + o. Появится окно Generate Constructor using fields, нажмите кнопку выбрать все и нажмите OK, вы получите конструктор со всеми инициализированными полями.