Question

Comment pouvez-vous obtenir IntelliJ pour générer getter / setters sur une ligne comme celle-ci:

public String getAbc() { return abc; }

Au lieu de

public String getAbc() {
   return abc;
}

??

Était-ce utile?

La solution

Il n'y a pas de modèles ni pour, ni pour getters égaux / hashcode. Ceux-ci sont en IDEA codés en dur.

Source

Vous pouvez voir que dans cette IntelliJ Liste

Autres conseils

J'utilise IntelliJ IDEA 14.1.0 et vous pouvez personnaliser ce comportement.

Il suffit d'utiliser le "Générer ..." option ou utiliser Alt + Insérer raccourci et sélectionnez "getter et setter".

Dans l'option « Sélectionner les champs » fenêtre qui obtient ouvert, vous avez le « Modèle Getter » en haut. Utilisez le bouton « ... » à côté du menu déroulant, pour modifier le modèle.

Sélectionnez « IntelliJ par défaut » et cliquez sur le bouton « Copier » pour créer un nouveau nom « AlwayStartWithGet », que vous pouvez modifier.

Il suffit de retirer la section suivante:

#if ($field.boolean)
  #if ($StringUtil.startsWithIgnoreCase($name, 'is'))
    #set($name = $StringUtil.decapitalize($name))
  #else
    is##
#end
#else
  get##
#end

Et le remplacer par un simple

get##

Vous devez être laissé avec:

public ##
#if($field.modifierStatic)
  static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
get##
${name}() {
  return $field.name;
}

Maintenant, vous pouvez utiliser le modèle personnalisé lors de la génération de code, en le sélectionnant dans le menu déroulant modèle getter.

Vous n'avez pas mentionné quelle version d'IDEA que vous utilisez, donc je suppose que la récente 8 ou 9.

Vérifiez vos paramètres de code de style, sous la rubrique « Alignement et Accolades ». Vous devriez trouver une option « Des méthodes simples dans une ligne » là.

Pour Idée 2016.

modèle Getter

Fusionner les 3 dernières lignes en une seule ligne:

${name}() { return $field.name; }

modèle Setter

Ajouter à double hachage (sans espace) à la fin de la plus longue ligne:

[...] ($field.type, $paramName) {##

Fusionner les 2 dernières lignes en une seule ligne:

$field.name = $paramName; }

Note:. Comme commenté par @mindas, vous voudrez probablement lieu le pliage automatique visuel qui ne soit pas versionné

Je ne sais pas pourquoi vous voulez faire cela, sans doute pour économiser de l'espace visuel. Dans ce cas, il suffit d'utiliser la fonction de IntelliJ à plier getters / setters triviales et oublier la façon dont les lignes faut-il. fonction de pliage peut être trouvée dans

Paramètres -> Paramètres IDE -> Editeur -> Code de pliage -> Afficher le contour de pliage de code -> propriété simple accesseurs

Alex G et laffuste ont fourni des réponses qui m'a aidé, mais même après avoir suivi ces instructions, IntelliJ peuvent toujours formater automatiquement votre code. Pour empêcher cela, allez dans Paramètres -> Editeur -> Style Code -> Java (ou autre langue). Cliquez sur l'onglet intitulé « Emballage et croisillons ». Sous le titre « Keep lors du reformatage » cliquez sur la case à cocher « Des méthodes simples dans une ligne ».

Par souci de concision plus loin, vous pouvez éliminer les lignes vides entre les méthodes getter et setter. Pour ce faire, cliquez sur l'onglet intitulé « lignes vides ». Dans la section intitulée « lignes vides minimum », trouver la zone de texte à côté de « Autour de la méthode ». Entrez 0 dans la zone de texte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top