Comment générer automatiquement des getters et setters dans Android Studio

294

Existe-t-il un raccourci dans Android Studio pour générer automatiquement les getters et setters dans une classe donnée?

Ajay S
la source

Réponses:

522

En utilisant Alt+ Insertpour Windows ou Command+ Npour Mac dans l'éditeur, vous pouvez facilement générer des méthodes getter et setter pour tous les champs de votre classe. Cela a le même effet que d'utiliser la barre de menus -> Code->Generate...

entrez la description de l'image ici

puis en utilisant le bouton shift ou control, sélectionnez toutes les variables dont vous avez besoin pour ajouter des getters et setters

Ajay S
la source
77
Pour ceux sur Mac, c'est control + enter.
anita
toute possibilité de créer getter et setter comme ivar _username et getter et setter sont getUsername et setUsername?
Nicolas Manzini
Sur Mac Control + n
Alon Kogan
2
Pour java, cela fonctionne bien.Mais j'utilise kotlin dans le studio Android pour le développement d'applications.Puis comment générer un getter / setter comme java?
SIVAKUMAR.J
2
comment générer des getters et setters pour la classe Kotlin
Ashik Azeez
29

Android Studio et OSx :

Appuyez sur cmd+ n> Generate>Getter and Setter

Android Studio et Windows :

Appuyez sur Alt+ Insert> Generate>Getter and Setter

Jorgesys
la source
Vient de tester sur Windows Alt + Maj + S + R ne fonctionne pas et le clic droit ne contient pas de source. Est-ce peut-être une configuration personnalisée?
Anthea
J'ai corrigé la section Win! :)
Jorgesys
8

Vous pouvez générer des getter et setter en suivant les étapes suivantes:

  • Déclarez d'abord les variables.
  • cliquez sur ALT+ Insertsur le clavier en plaçant le curseur sur la partie déclaration de variable
  • maintenant, sélectionnez constructeur et appuyez sur Ctrl+ Asur le clavier et cliquez sur Enterpour créer le constructeur.
  • Maintenant, en plaçant à nouveau le curseur sur la ligne suivante de l'accolade de fermeture du constructeur, cliquez sur ALT+ INSERTet sélectionnez getter et setter et appuyez à nouveau sur CTRL+ Apour sélectionner toutes les variables et appuyez sur Enter.

C'est tout. Bon codage !!

Rushi Ayyappa
la source
8
  • créer la variable
  • clic-droit
  • sélectionnez "Générer" puis sélectionnez l'option "Getter and Setter"

Menu clic droit

Ângelo Polotto
la source
Un raccourci pour les constructeurs kotlin ? Alt + Ins ne me montrant pas l'option Générer des constructeurs.
Arbaz.in
As-tu essayé Alt + Enter?
Ângelo Polotto
pour ce cas, je ne sais pas ce qui se passe. Avez-vous posté votre problème sur le forum Intellij?
Ângelo Polotto
Lorsque vous trouvez la solution, partagez-la ici.
Ângelo Polotto
8

Android Studio et Windows:

fn+ alt+insert

Image du menu

user6696469
la source
1
Votre image n'est pas apparue correctement dans le message et vous n'avez pas terminé la description de l'image - elle dit «entrez la description de l'image ici».
LordWilmore
6

Positionnez le curseur sous les variables -> clic droit -> Générer -> Getter et Setter -> Choisissez les variables pour obtenir et définir

ou

Alt + Insert -> Getter and Setter -> Choisissez les variables

Bébé
la source
La question était de savoir s'il était possible de générer des getters et setters avec un seul raccourci, donc pas où vous pouvez trouver cette option dans un menu.
R Pelzer
Je n'ai pas compris. Alt + Insert -> Getter and Setter -> Choisissez les variables
Baby
5

Comme indiqué ici , vous pouvez également personnaliser la génération getter / setter pour prendre en compte les préfixes et suffixes (par exemple m pour les variables d'instance). Accédez à File->Settingset développez Code Style, sélectionnez Javaet ajoutez vos préfixes / suffixes sous l' Code Generationonglet.

Shane Spoor
la source
4

Vous pouvez utiliser le AndroidAccessorsplugin de Android Studiopour générer getter et setter sans m comme préfixe des méthodes

Ex: mId; Générera getId()et setId()au lieu de getmId()etsetmId()

capture d'écran du plugin

Fusion froide
la source
4

Cette réponse traite de votre question mais n'est pas exactement une réponse . =) C'est une bibliothèque intéressante que j'ai découverte récemment et que je veux partager avec vous.


Projet Lombok peut générer des méthodes communes, comme getters, setters, equals()et hashCode(), toString()pour vos classes automatiquement. Il les remplace par des annotations réduisant le code passe-partout. Pour voir un bon exemple de code écrit à l'aide de Lombok, regardez une vidéo sur la page principale ou lisez cet article .

Le développement d'Android avec Lombok est facile et n'alourdira pas votre application Android car Lombok est une bibliothèque de compilation uniquement. Il est important de configurer correctement votre projet Android.

Un autre exemple:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

Le développement Android avec Lombok est possible. Lombok devrait être une dépendance au moment de la compilation, car sinon l'intégralité de Lombok se retrouvera dans vos fichiers DEX, gaspillant ainsi un espace précieux. Extrait de Gradle:

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

De plus, vous souhaiterez peut-être ajouter le plug-in Lombok IntelliJ pour prendre en charge les fonctionnalités de Lombok dans votre IDE au moment du développement. Il existe également une bibliothèque Hrisey basée sur Lombok. Autrement dit, c'est le support Lombok + Parcellable.

naXa
la source
1
Malheureusement, le projet Lombok se brise dans les projets de bibliothèque Android. Ce n'est pas fiable en ce moment.
IgorGanapolsky
1
@IgorGanapolsky une preuve?
Artem Novikov
1
@IgorGanapolsky Project Lombok fonctionne très bien avec Android. Voir le guide d'installation .
naXa
3

Utilisez Ctrl+ Entersur Mac pour obtenir la liste des options pour générer setter, getter, constructeur, etc.

entrez la description de l'image ici

Naga Mallesh Maddali
la source
2

utilisez la boîte de dialogue code => generate => getter () et setter (), sélectionnez toutes les variables, générez toutes les méthodes getter (), setter () en même temps.

xiaoyifang
la source
1

Une autre façon amusante

Tapez le nom du paramètre n'importe où dans l'objet après la définition, vous verrez setter et getter, Sélectionnez et cliquez simplement sur enter :)

J'ai essayé avec Android Studio 2.3

Kadir Erturk
la source
-1

Faites un clic droit Editorpuis sélectionnez Source -> Generate Getters and Settersou appuyez sur Alt+ Shift+S entrez la description de l'image ici

hacher
la source
2
Voici Eclipse. Il a demandé Android Studio.
WannaGetHigh
-2

Juste au cas où quelqu'un travaillerait avec Eclipse

Système d'exploitation Windows 8.1 | Eclipse Idle Luna

Déclarez la variable de niveau supérieur private String usernameEclipse veuillez générer un avertissement sur la gauche de votre écran, cliquez sur cet avertissement et quelques suggestions, puis sélectionnez générer.entrez la description de l'image ici

Jonathan Caceres Romero
la source
1
La question a été adressée à Android Studio, pas à Eclipse
Alberto M