Risposte:
A complemento della risposta di Deepak Azad, ciò di cui hai esattamente bisogno è il seguente:
Windows : Finestra → Preferenze → Java → Stile codice
→ Formattatore → Modifica → A capo automatico (scheda)Mac OS : ADT → Preferenze → Java → Stile codice
→ Formattatore → Modifica → A capo automatico (scheda)
Quindi, nell'elenco a sinistra, seleziona:
Chiamate di funzione → Chiamate qualificate
Ora sotto questo elenco, imposta i criteri di ritorno a capo su:
Avvolgi tutti gli elementi, tranne il primo elemento se non necessario
Controllare :
Forza la divisione, anche se la linea è più corta della larghezza massima della linea
Infine, imposta il criterio di indentazione su (grazie @Turbo ):
Rientro sulla colonna
Dovrebbe darti il comportamento esatto che hai chiesto.
BONUS: Android Studio / IntelliJ Idea:
Mac OS : Android Studio → Preferenze (
Cmd +,) → Editor → Stile codice → Java → scheda Wrapping And Braces → Chained method calls
Selezionare
Avvolgi sempre
e controlla
Allinea quando multilinea
Indent on column, a volte aggiunge spazio extra; per esempio session.createQuerydiventa session .createQuerye così via. Il ripristino dell'opzione predefinita ha risolto il problema per me.
Finestra → Preferenze → Java → Stile codice → Formatore → Modifica → A capo automatico → Non unire mai righe già mandate a capo
I am sorry i did not explain: It won't format it. It will simply not mess it up, if you do it manually. –
Finestra> Preferenze> Java> Stile codice> Formatore> Modifica> Ritorno a capo linea> Chiamate di funzione, impostare il "Criterio di ritorno a capo" come "Avvolgi tutti gli elementi, ogni elemento su una nuova riga".
Per coloro che hanno le impostazioni di formattazione del codice eclipse controllate nel controllo del codice sorgente (per una formattazione coerente del codice in tutto il team), la .settingscartella viene archiviata.
La proprietà che ti darà questo comportamento di formattazione è nel .settings/org.eclipse.jdt.core.prefsfile.
La proprietà è:
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
Se sei disposto a fare da solo la formattazione di quei segmenti, puoi impedire a eclipse di riformattare quei segmenti utilizzando:
// @formatter:off
...
// @formatter:on
Potrebbe essere necessario abilitarlo nelle preferenze: http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter
Vedi anche: Come disattivare il formattatore di codice Eclipse per alcune sezioni del codice Java?
in: Window-> Preferences-> Java-> Code Style-> Formater-> Edit-> Line wrapping-> Function call-> Qualified invocation
seleziona Criterio di rientro come rientro nella colonna
return new SomeClass().A().B().C();con ogni chiamata di metodo su una linea separata.