Format IntelliJ getter / setter

Comment 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;
}

??

25
demandé sur Marcus Leon 2009-11-23 21:59:10

5 réponses

il n'y a pas de gabarits ni pour getter ni pour equal/hashcode. Ces sont codés en dur dans l'IDÉE.

Source

Vous pouvez voir que dans ce IntelliJ Wishlist

11
répondu David Robles 2014-07-18 11:02:10

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

il suffit d'utiliser le "Generate..."l'option, ou de l'utilisation Alt+ Insert raccourci et sélectionnez "Getter et Setter".

dans la fenêtre" Select Fields "qui s'ouvre, vous avez l'option" Getter Template " en haut. Utiliser le "..."bouton à côté du dropdown, pour éditer le modèle.

sélectionnez "IntelliJ défaut" et cliquez sur le bouton" Copier " pour en créer un nouveau nommé "AlwayStartWithGet", que vous pouvez éditer.

il suffit de supprimer 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 getter template.

27
répondu Alex G 2017-01-16 09:00:40

vous n'avez pas mentionné la version de L'idée que vous utilisez, donc je suppose que les récents 8 ou 9.

Vérifiez vos paramètres de Style de Code, sous "alignement et accolades". Vous devriez y trouver une option" méthodes simples en une ligne".

10
répondu Noel Ang 2009-11-23 19:06:47

Je ne sais pas pourquoi vous voulez faire cela, probablement pour économiser de l'espace visuel. Si c'est le cas, utilisez simplement la fonctionnalité D'IntelliJ pour plier les getters/setters triviaux et oublier comment les lignes sont nécessaires. Pliage fonctionnalité peut être trouvée dans

Paramètres -> Paramètres IDE -> Editeur -> Code de Pliage -> Afficher le code pliant contour -> Simple accesseurs de propriété

10
répondu mindas 2009-12-11 11:30:00

Pour Idea 2016.

getter template

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

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

Setter template

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

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

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

$field.name = $paramName; }

Note: Comme commenté par @mindas, vous voudrez probablement à la place le pliage automatique visuel qui ne reçoit pas version.

8
répondu laffuste 2017-11-07 02:24:42