Как автоматически генерировать геттеры и сеттеры в Android Studio

294

Есть ли в Android Studio ярлык для автоматической генерации методов получения и установки в заданном классе?

Ajay S
источник

Ответы:

522

Используя Alt+ Insertдля Windows или Command+ Nдля Mac в редакторе, вы можете легко генерировать методы получения и установки для любых полей вашего класса. Это имеет тот же эффект, что и при использовании строки меню -> Code->Generate...

введите описание изображения здесь

а затем с помощью клавиши Shift или Control выберите все переменные, которые вам нужны, чтобы добавить геттеры и сеттеры

Ajay S
источник
77
Для тех, кто на Mac, это control + enter.
Анита
Любая возможность создать getter и setter, такие как ivar _username и getter и setter, являются getUsername и setUsername?
Николас Манзини
На Mac Control + n
Алон Коган
2
Для Java это работает хорошо. Но я использую kotlin в Android Studio для разработки приложений. Затем, как создать геттер / сеттер, как Java?
SIVAKUMAR.J
2
как генерировать геттеры и сеттеры для класса Kotlin
Ашик Азиз
82

В OSX + Nпо умолчанию.

Щелкните правой кнопкой мыши и выберите «Создать ...», чтобы увидеть текущее отображение. Вы можете выбрать несколько полей для создания геттеров / сеттеров за один шаг.

См. Http://www.jetbrains.com/idea/webhelp/generating-getters-and-setters.html.

Василий Кулаков
источник
29

Android Studio и OSx :

Нажмите cmd+ n> Generate>Getter and Setter

Студия Android и Windows :

Нажмите Alt+ Insert> Generate>Getter and Setter

Jorgesys
источник
Только что протестированный на Windows Alt + Shift + S + R не работает и правый клик не содержит Source. Это может быть пользовательская настройка?
Антея,
Я исправил раздел Win! :)
Jorgesys
8

Вы можете создать геттер и сеттер, выполнив следующие действия:

  • Сначала объявите переменные.
  • нажмите ALT+ Insertна клавиатуре, поместив курсор вниз на часть объявления переменной
  • Теперь выберите конструктор и нажмите Ctrl+ Aна клавиатуре и нажмите, Enterчтобы создать конструктор.
  • Теперь снова поместите курсор на следующую строку закрывающей фигурной скобки конструктора, нажмите ALT+ INSERTи выберите getter и setter и снова нажмите CTRL+, Aчтобы выбрать все переменные и нажать Enter.

Вот и все. Удачного кодирования!

Руши Айяппа
источник
8
  • создать переменную
  • щелкните правой кнопкой мыши
  • выберите «Создать», а затем выберите «Getter and Setter» вариант

Меню правой кнопки мыши

Анджело Полотто
источник
Любой ярлык для конструкторов Kotlin ? Alt + Ins не показывает мне возможность создания конструкторов.
Arbaz.in
Ты пробовал Alt + Enter?
Анджело Полотто
для этого случая я не знаю, что происходит. Вы разместили свою проблему на форуме Intellij?
Анджело Полотто
Если вы найдете решение, пожалуйста, поделитесь им здесь.
Анджело Полотто
8

Студия Android и Windows:

fn+ alt+insert

Изображение меню

user6696469
источник
1
Ваше изображение не появилось в сообщении правильно, и вы не заполнили описание изображения - оно говорит: «введите описание изображения здесь».
Лорд Уилмор
6

Поместите курсор под переменными -> щелкните правой кнопкой мыши -> Generate -> Getter and Setter -> Выберите переменные для получения и установки

или

Alt + Insert -> Getter and Setter -> Выбрать переменные

малыш
источник
Вопрос заключался в том, возможно ли генерировать геттеры и сеттеры с помощью одного ярлыка, поэтому нельзя найти эту опцию в меню.
R Pelzer
Я не понял. Alt + Insert -> Getter and Setter -> Выберите переменные
Baby
5

Как отмечалось здесь , вы также можете настроить генерацию getter / setter так, чтобы она учитывала префиксы и суффиксы (например, m для переменных экземпляра). Перейдите File->Settingsи разверните Code Style, выберите Javaи добавьте свои префиксы / суффиксы на Code Generationвкладке.

Шейн Спур
источник
4

Вы можете использовать AndroidAccessorsПлагин Android Studioдля генерации getter и setter без m в качестве префикса к методам

Пример: средний; Будет генерировать getId()и setId()вместо getmId()иsetmId()

скриншот плагина

Холодный синтез
источник
4

Этот ответ касается вашего вопроса, но не является точным ответом на него. =) Это интересная библиотека, которую я недавно обнаружил и хочу поделиться с вами.


Проект Ломбки могут генерировать общие методы, такие как добытчики, сеттера, equals()и hashCode(), toString()для ваших классов автоматически. Он заменяет их аннотациями, сокращающими стандартный код. Чтобы увидеть хороший пример кода, написанного с использованием Lombok, посмотрите видео на главной странице или прочитайте эту статью .

Разработка Android с помощью Lombok проста и не сделает ваше приложение для Android более «тяжелым», потому что Lombok - это библиотека только для компиляции. Важно правильно настроить проект Android.

Другой пример:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

Возможна разработка Android с помощью Lombok. Lombok должен быть зависимым только во время компиляции, так как в противном случае весь Lombok окажется в ваших файлах DEX, тратя впустую драгоценное место. Фрагмент Gradle:

dependencies {
    compileOnly "org.projectlombok:lombok:1.16.18"
}

Кроме того, вы можете добавить плагин Lombok IntelliJ для поддержки функций Lombok в вашей IDE во время разработки. Также есть библиотека Hrisey, которая основана на Lombok. Проще говоря, это поддержка Lombok + Parcellable.

naXa
источник
1
К сожалению, Project Lombok ломается в проектах библиотек Android. Это ненадежно сейчас.
Игорь Ганапольский
1
@IgorGanapolsky какие-либо доказательства?
Артем Новиков,
1
@IgorGanapolsky Project Lombok отлично работает с Android. Смотрите руководство по установке .
naXa
3

Используйте Ctrl+ Enterна Mac, чтобы получить список опций для генерации сеттера, геттера, конструктора и т. Д.

введите описание изображения здесь

Нага Маллеш Маддали
источник
2

используйте диалог code => generate => getter () и setter (), выберите все переменные, сгенерируйте все методы getter (), setter () одновременно.

xiaoyifang
источник
1

Еще один забавный способ

Введите имя параметра в любом месте объекта после определения, вы увидите сеттер и геттер, просто выберите и нажмите ввод :)

Я пробовал с Android Studio 2.3

Кадир Эртюрк
источник
-1

Щелкните правой кнопкой мыши, Editorзатем выберите Source -> Generate Getters and Settersили нажмите Alt+ Shift+S введите описание изображения здесь

гашиш
источник
2
Это Затмение. Он попросил Android Studio.
WannaGetHigh
-2

На всякий случай, если кто-то работает с Eclipse

ОС Windows 8.1 | Затмение Холостой Луны

Объявите переменную верхнего уровня. private String usernameEclipse, пожалуйста, сгенерируйте предупреждение в левой части экрана, щелкните это предупреждение и пару предложений, затем выберите «Генерировать».введите описание изображения здесь

Джонатан Касерес Ромеро
источник
1
Вопрос был направлен на Android Studio, а не на затмение
Alberto M