Comment pouvez-vous obtenir IntelliJ pour générer getter/setters sur une ligne comme celle-ci:IntelliJ getter/setter Format
public String getAbc() { return abc; }
Au lieu de
public String getAbc() {
return abc;
}
??
Comment pouvez-vous obtenir IntelliJ pour générer getter/setters sur une ligne comme celle-ci:IntelliJ getter/setter Format
public String getAbc() { return abc; }
Au lieu de
public String getAbc() {
return abc;
}
??
Il n'y a pas de gabarit ni pour les getters ni pour les égales/hashcode. Ceux-ci sont codés en dur dans IDEA.
Vous pouvez voir que dans cette IntelliJ Wishlist
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 "Méthodes simples sur une ligne".
Nous sommes 8.1.3. Cela n'a pas semblé fonctionner si .. –
Avez-vous essayé de décocher la case "sauts de ligne" dans le groupe "Keep When Reformatting"? – seh
Le paramètre d'une ligne indique à IntelliJ de le laisser ainsi dans un reformatage, mais pas de le créer de cette façon. –
Je ne sais pas pourquoi vous voulez faire cela, sans doute pour économiser de l'espace visuel. Si c'est le cas, utilisez simplement la fonction d'IntelliJ pour plier les getters/setters triviaux et oublier la façon dont les lignes sont prises. fonction de pliage peut être trouvée dans
Paramètres -> Paramètres IDE -> Editeur -> Code de Folding -> Afficher le code contour pliant -> Propriété simple accesseurs
J'utilise IntelliJ IDEA 14.1.0 et vous le pouvez Personnalisez ce comportement.
Il suffit d'utiliser le "Générer ..." option ou utiliser Alt +Insérer raccourci, et sélectionnez "getter et setter".
Dans la fenêtre "Select Fields" qui s'ouvre, vous avez l'option "Getter Template" en haut. Utilisez le bouton "..." à côté de la liste déroulante pour éditer le modèle.
Sélectionnez "IntelliJ Default" et cliquez sur le bouton "Copier" pour en créer un nouveau nommé "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 du code, en le sélectionnant dans la liste déroulante du modèle getter.
Cela semble prometteur mais je ne vois pas un bouton de modèle Getter en haut de cette boîte de dialogue. En utilisant 14.0.2. – Gervase
A travaillé pour moi, mais pour être précis la dernière partie du modèle devrait ressembler à: '$ {name}() {return $ field.name; } ' dans une ligne –
Assurez-vous de vérifier également les paramètres/code Style/Java/blocs simples dans une ligne et méthodes simples dans une ligne. Sinon, la mise en forme automatique remettra les lignes et vous ne verrez aucun effet après la modification du modèle ... – werner
Pour l'idée 2016.
modèle de 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 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 plutôt le pliage automatique visuel qui ne soit pas versionné.
Il y a maintenant (j'utilise Ultimate 2016) - voir les réponses ci-dessous – werner