web-dev-qa-db-fra.com

Wrapping des appels de méthode chaînés sur une ligne distincte dans Eclipse pour Java

Je n'ai pas réussi à comprendre comment encapsuler chaque appel de méthode dans Eclipse. Par exemple, j'ai ceci:

someObject.A().B().C();

Mais je veux vraiment ça:

someObject.A()
          .B()
          .C();

Rien dans la section "Line Wrapping" dans Eclipse ne semble me donner ce résultat.

96
Johann

Pour compléter la réponse de Deepak Azad, vous avez exactement besoin de ce qui suit:

Windows : Fenêtre → Préférences → Java → Style de code
→ Formateur → Édition → Habillage de ligne (onglet)

Mac OS : ADT → Préférences → Java → Style de code
→ Formateur → Édition → Habillage de ligne (onglet)

Ensuite, dans la liste de gauche, sélectionnez:

Appels de fonction → Appels qualifiés

Maintenant en dessous de cette liste, définissez la politique d'habillage de ligne sur:

Envelopper tous les éléments, sauf le premier élément si ce n'est pas nécessaire

Cochez :

Forcer la division, même si la ligne est plus courte que la largeur de ligne maximale

Enfin, définissez Politique d'indentation sur (merci @ Turbo ):

Retrait sur colonne

Il devrait vous donner le comportement exact que vous avez demandé.


BONUS: Android Idée Studio/IntelliJ:

Mac OS : Android Studio → Préférences (Cmd +,) → Éditeur → Style de code → Java → Habillage et accolades onglet → Appels de méthode chaînés

sélectionner

Enveloppez toujours

et vérifie

Aligner lorsque multiligne

174

Fenêtre → Préférences → Java → Style de code → Formateur → Éditeur → Habillage de ligne → Ne jamais joindre des lignes déjà encapsulées

9
Op De Cirkel

Fenêtre> Préférences> Java> Style de code> Formateur> Éditeur> Habillage de ligne> Appels de fonction, définissez la 'Politique d'habillage de ligne' comme 'Envelopper tous les éléments, chaque élément sur une nouvelle ligne'.

7
Deepak Azad

Pour ceux dont les paramètres de formatage de code Eclipse sont intégrés au contrôle de code source (pour un formatage de code cohérent dans toute l'équipe), le .settings le dossier est archivé.

La propriété qui vous donnera ce comportement de mise en forme se trouve dans le .settings/org.Eclipse.jdt.core.prefs fichier.

La propriété est:

org.Eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
6
Andy Guibert

Si vous souhaitez effectuer le formatage de ces segments vous-même, vous pouvez empêcher Eclipse de reformater ces segments en utilisant:

// @formatter:off
...
// @formatter:on

Vous devrez peut-être l'activer dans vos préférences: http://archive.Eclipse.org/Eclipse/downloads/drops/R-3.6-201006080911/Eclipse-news-part2.html#JavaFormatter

Voir aussi: Comment désactiver le formateur de code Eclipse pour certaines sections de Java code?

2
Stim

dans: Fenêtre-> Préférences-> Java-> Style de code-> Formateur-> Édition-> Habillage de ligne-> Appel de fonction-> Appel qualifié

sélectionnez la stratégie de retrait comme retrait sur la colonne

0