2010-09-20 20 views
34

Il formattatore di Eclipse predefinito formatta il mio codice Java in un modo davvero divertente.I migliori formattatori di codice Eclipse?

Ad esempio: hello.show().x().y() sarebbe formattato in modo strano come x() e .y() e verrà posizionato su una riga separata.

Esistono altri formattatori di base che possono eseguire un lavoro migliore?

Esempi e collegamenti sono benvenuti.

+5

Definire "davvero divertente"? Come in: Cosa non ti piace a riguardo? – Blam

+1

Non vorrei che quelle chiamate di metodo su linee separate, vero? – duffymo

+2

Ciò accade quando la linea è troppo lunga. Se x(). Y() è oltre il margine destro, prenderei in considerazione la possibilità di suddividere le linee un po '. –

risposta

27

ho sempre cambiare il formattatore in Eclipse per convenzione Java e cambiare la politica scheda di usare sempre lo spazio invece di scheda o la miscelazione di scheda e di spazio. A volte cambio anche la larghezza della linea di 100 o 120 (80 caratteri sono troppo stretti nel mio monitor).

Per quanto riguarda la richiesta specifica: sì è possibile modificare questo comportamento. Vai alla preferenza Formatter e crea il tuo profilo personale. Modificalo nella scheda Line Wrapping e deseleziona Prefer wrapping outer expressions (keep nested expression on one line).

Maggiori informazioni su: https://bugs.eclipse.org/bugs/show_bug.cgi?id=313524

+0

esattamente quello che stavo cercando –

+0

Unico problema con le linee larghe è quando chiedi a Eclipse di stamparle ... –

+0

Vecchio thread ma continuerà a rispondere. La stampa è un problema. Sono d'accordo. Sto finalizzando un formattatore qui per la squadra. Sono favorevole a Java Convention con solo spazi, blocco e formattazione dei commenti a linea disattivata e 120 righe. Noi come programmatori abbiamo bisogno di allontanarci dalla convenzione di 80 linee. In questi giorni in cui ampi LCD sono molto comuni nelle aziende di sviluppo software, dobbiamo iniziare a passare a 120 convenzioni di linea e ridurre il dolore ai nostri occhi. – RuntimeException

5

Avete considerato le preferenze per il formattatore? In pratica puoi configurarlo per fare tutto ciò che vuoi.

Tuttavia, vorrei prendere in seria considerazione la formattazione standard di Eclipse. Aiuta molto semplicemente a usare lo standard, e quindi regola il tuo stile di codifica per funzionare bene con quello.

+0

[Quasi] (http://stackoverflow.com/q/8686252/403455) tutto quello che vuoi. :( –

8

Oltre alla possibilità di personalizzare il formattatore, come indicato da Thorbjørn, è anche possibile importare convenzioni di codifica di progetti specifici, in particolare quelli provenienti da framework e librerie che si sono lavorando su.

Ad esempio, lo Spring framework coding conventions è stato reso disponibile, come nel caso di Android. Alla fine, è meglio iniziare con le convenzioni sulla codifica Sun (che con una completamente realizzata a mano), con alcune modifiche apportate per soddisfare i requisiti di leggibilità e stile di codifica della tua organizzazione.

65

Consiglio vivamente lo google's style guide, è una raccolta di guide di stile di codifica per i linguaggi di programmazione più utilizzati.

È possibile trovare la guida Java configurabile di eclissi here. Installazione della guida è abbastanza semplice, Salvare il xml stile in un file e importarlo utilizzando la seguente finestra di dialogo:

Finestra -> Preferenze -> Java -> Codice di stile -> Formatter

Infine seleziona il profilo attivo come GoogleStyle.

+6

Questo genera un errore durante l'importazione ora con Eclipse Mars. Dettagli specifici: 'Problemi nella lettura dei profili da XML Il nome dell'attributo" data-pjax-transient "associato a un tipo di elemento" meta "deve essere seguito dal carattere" = ". – anon58192932

+2

https://github.com/google/google -java-format prova questa soluzione invece – vikramvi

+1

@ anon58192932 L'errore "data-pjax-transient" si verifica se scarichi il file dalla pagina web di github (ad esempio salva come). Il contenuto è quindi HTML e ** NON ** il file XML! Se si esegue un vero download del file raw, funziona ... – Lonzak

Problemi correlati