web-dev-qa-db-fra.com

Achèvement de code Intellij pour toutes les méthodes setter/getter d'objet variable local

J'ai essayé de chercher cela, mais honnêtement, les termes pour chercher réellement m'échappent. Un petit extrait de code suivi de la question. 

Public class Person {

   String firstName;
   String lastName;

   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }

   public String getFirstName() {
      return firstName;
   }
   ...
}

Dans un autre objet qui utilise cet objet personne je voudrais pouvoir développer toutes les méthodes de calcul dans Intellij. 

public class PersonAssembler { 
    public static Person assemblePerson(SomeOtherObject someOtherObject) {

    Person person = new Person;

    //intellj would provide this below.
    person.setFirstName();
    person.setLastName();
    //end of what intellj provides.

    return person;
}

Est-ce seulement possible? J'ai parcouru les raccourcis clavier, etc. J'utilise intellij depuis un moment, je me suis donc simplement demandé si quelqu'un avait quelque idée à ce sujet. 

J'espérais passer en mode d'édition de colonne, puis de complétion de code et peut-être avec une touche Maj + flèche vers le bas pour sélectionner plusieurs complétions, mais sans succès. Ce qui n'est pas surprenant. Je détesterais devoir écrire cela dans l'interface graphique.

Edit: J'ai ajouté des éclaircissements et, honnêtement, j'ai oublié cette question. Les réponses n'ont rien à voir avec la question même si elles sont lues attentivement. Je ne parle pas du menu contextuel Générer.

32
Blake Dunn

C'est une vieille question, mais peut-être que ça aide quelqu'un.

En outre, ce n'est pas une action "en un seul clic", mais ...

Étapes à suivre:

  • Aller au fichier de classe
  • Ouvrir la vue Structure (panneau de gauche)
  • Sélectionnez tous les setters (triez par ordre alphabétique si nécessaire) et copiez
  • Retournez à votre classe/méthode de destination
  • Coller copié
  • Editez (en mode colonne) pour inclure person. au début de chaque classe et () à la fin.
18
rodrigobb

Dans votre projet, cliquez n'importe où sur l'écran de saisie, cliquez le bouton droit de la souris, puis cliquez sur "Générer ...", puis sur "Getter et Setter". Ensuite, maintenez la touche Ctrl enfoncée et cliquez sur les champs pour lesquels vous souhaitez créer des getters et des setters, puis cliquez sur 'OK'.

23
Michael Jarvis

Le raccourci pour créer un configurateur de lecture est Alt+Insert dans Intellij.

14
Nilesh

Je ne sais pas comment faire cela dans IntelliJ, mais je vous lierai à un framework qui rend ce genre de choses beaucoup plus fluide en Java: Project Lombok

prenez votre code par exemple, cela ressemblera à ceci:

public class Person {
    @Setter
    @Getter
    String firstName;
    String lastName;
}

il y a un branchement pour intellij qui le corrige afin que vous n'ayez pas non plus des avertissements gênants.

http://projectlombok.org/

6
Vegard

Ce plugin peut aider GenerateAllSetter

Appuyez sur CTRL + ENTER où vous voulez utiliser et il générera des appels de programmeur pour vous.

2
Radouane ROUFID

Continuation vers Michael Jarvis réponse:

Je suis donc dans IntelliJ IDEA 2018.1.4 (Community Edition) Et je me suis rendu compte qu'il était important de sélectionner tous les champs en premier pour que right-click ou ALT + Insert ait le menu Propriété (getter et setter)

 enter image description here

1
Vishrant