Réponses:
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 → Modifier → Retour à la ligne (onglet)Mac OS : ADT → Préférences → Java → Style de code
→ Formateur → Modifier → Retour à la ligne (onglet)
Ensuite, dans la liste de gauche, sélectionnez:
Appels de fonction → Appels qualifiés
Maintenant, sous cette liste, définissez la stratégie de retour à la ligne sur:
Enveloppez tous les éléments, sauf le premier élément si cela n'est pas nécessaire
Vérifier :
Forcer le fractionnement, même si la ligne est plus courte que la largeur de ligne maximale
Enfin, définissez la stratégie d'indentation sur (merci @Turbo ):
Indentation sur la colonne
Cela devrait vous donner le comportement exact que vous avez demandé.
BONUS: Android Studio / IntelliJ Idea:
Mac OS : Android Studio → Préférences (
Cmd +,
) → Éditeur → Style de code → Java → Onglet Wrapping and Braces → Appels de méthode chaînés
sélectionner
Enveloppez toujours
et vérifie
Aligner lorsque multiligne
Indent on column
, cela ajoute parfois de l'espace supplémentaire; par exemple session.createQuery
devient session .createQuery
et ainsi de suite. Le retour à l'option par défaut a résolu le problème pour moi.
Fenêtre → Préférences → Java → Style de code → Formater → Modifier → Retour à la ligne → Ne jamais joindre des lignes déjà enveloppées
I am sorry i did not explain: It won't format it. It will simply not mess it up, if you do it manually. –
Fenêtre> Préférences> Java> Style de code> Formater> Edition> Retour à la ligne> Appels de fonction, définissez la «Politique de retour à la ligne» sur «Envelopper tous les éléments, chaque élément sur une nouvelle ligne».
Pour ceux dont les paramètres de mise en forme du code éclipse sont archivés dans le contrôle de code source (pour un formatage de code cohérent dans toute l'équipe), le .settings
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
Si vous souhaitez effectuer vous-même le formatage de ces segments, 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 du code Java?
dans: Window-> Preferences-> Java-> Code Style-> Formater-> Edit-> Line wrapping-> Function call-> Qualified invocation
sélectionnez la stratégie de retrait comme retrait sur la colonne
return new SomeClass().A().B().C();
chaque appel de méthode sur une ligne distincte.