Esiste un formattatore di codice sorgente per Groovy?
-
02-07-2019 - |
Domanda
Uso la versione commerciale di Jalopy per i miei progetti Java ma non funziona con i file Groovy. IntelliJ ha un formattatore utile ma non mi piace richiedere un IDE particolare.
Soluzione
Ho scoperto che BUSL funziona davvero bene sui file Groovy. È anche autonomo, quindi puoi usarlo dal tuo editor di testo o altro.
Altri suggerimenti
spidasoftware / format estrae il plugin groovy eclipse e fornisce un'interfaccia a riga di comando.
Istruzioni:
-
git clone git@github.com: spidasoftware / format.git
-
formato / bin cd
-
./format / path / to / groovy / file
avvertenza: questo progetto non è più mantenuto ma funziona ancora dal momento di questo post
l'ultimo plug-in eclipse eseguirà alcune operazioni di formattazione e refactoring: http: //groovy.codehaus. org / Eclipse Plugin + + refactoring
Il supporto Groovy per Jalopy arriverà entro la fine dell'anno. C'è una piccola anteprima su YouTube che mostra il plug-in Eclipse:
In realtà groovyc viene fornito con un formatter incorporato (tipo di). Se si imposta la variabile di ambiente JAVA_OPTS
su -Dantlr.ast
ed si esegue groovyc test.groovy
un file chiamato test.groovy.pretty.groovy è generato.
Ma attenzione: da quello che ho trovato su Internet a riguardo, questo formattatore non è configurabile e rimuove i commenti!
Devo ancora trovare una buona soluzione per questo, e vorrei davvero che ce ne fosse una. Per quanto riguarda il consiglio di @ Gizmomogwai, non funziona esattamente come penseresti.
Prima di tutto, devi esportare JAVA_OPTS = -Dantlr.ast: groovy
. Tuttavia, il file prodotto da groovyc
non è chiaramente "carino". nel senso che è carino per gli umani. Il "grazioso" l'output genera un file che verrà analizzato dalla fase successiva del compilatore. In effetti, ciò significa che non solo elimina i commenti, ma aggiungerà e modificherà anche nuove righe e spazi bianchi. È sicuramente non adatto al controllo della formattazione del codice.
Spotless formatta anche groovy. Sembra impossibile correre senza gradle / maven. : (