Есть ли ярлык для добавления полей в существующий конструктор в 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 Строковое имя;

  1. В MAC-системе ярлык - Option + Return, я считаю, что в окнах Alt + Enter.

  2. Затем нажмите "Добавить конструктор".

Удачи!

Ответ 3

Добавьте параметр в конструктор и нажмите alt + Enter (Control Assist), и вы получите возможность создать поле для параметра, а затем нажмите Enter. Это доступно в последней версии IntelliJ 2017.2.

Ответ 4

Единственная короткая команда в этой области, о которой я знаю, - это "генерировать конструктор с использованием полей", который доступен при нажатии Alt + S. Может быть, это может немного помочь. Вот еще одна полезная информация о ярлыках.

http://www.vogella.com/articles/EclipseShortcuts/article.html

Ответ 5

Вы можете попробовать это

  • Щелкните правой кнопкой мыши класс java
  • Источник- > Генерировать конструктор с использованием полей.
  • Выберите супер конструктор для использования и переменные экземпляра для добавления в конструктор.

Ответ 6

  • Скопируйте любую дополнительную логику в старый конструктор в буфер обмена (ни один в вашем примере).
  • Удалить старый конструктор.
  • Создайте новый конструктор с ALT+insertconstructorCTRL+AENTER
  • Вставить любую дополнительную логику, скопированную на шаге 1.

Ответ 7

В Eclipse:

  1. В конструкторе выберите новый параметр
  2. нажмите ctrl + 1
  3. выберите "Присвоить параметр новому полю"

Новое поле будет создано и будет установлено в вашем конструкторе.

Ответ 8

Используйте alt + shift + s + o. Появится окно Generate Constructor using fields, нажмите кнопку выбрать все и нажмите OK, вы получите конструктор со всеми инициализированными полями.