IntelliJ getter / setter Format
-
21-09-2019 - |
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;
}
??
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.
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.