Ho del codice Java con istruzioni SQL scritte come stringhe Java (per favore niente OR / M flamewars, l'SQL incorporato è quello che è - non la mia decisione).
Ho diviso semanticamente le istruzioni SQL in più stringhe concatenate su più righe di codice per facilità di manutenzione. Quindi invece di qualcosa come:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
Ho qualcosa del tipo:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
Questo stile rende l'SQL molto più facile da leggere e gestire (IMHO), specialmente per query più grandi. Ad esempio, posso mettere il mio editor in modalità "sovrascrivi" e modificare il testo sul posto abbastanza facilmente.
Si noti che questo problema si generalizza oltre l'esempio particolare di SQL. Qualsiasi codice scritto con qualsiasi formattazione verticale, in particolare costrutti tabulari, è suscettibile alla distruzione da parte di una bella stampante.
Ora, alcuni membri del progetto usano l'editor Eclipse e la formattazione semantica viene spesso distrutta quando formattano un intero file sorgente.
C'è un modo per istruire Eclipse a ignorare determinate righe di sorgente rispetto alla formattazione?
Sto cercando qualcosa di simile a un commento speciale che commuta il formattatore Eclipse. Idealmente, un tale commento potrebbe essere configurabile per essere quello che scegliamo e altri formattatori potrebbero essere programmati per rispettarlo:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
Ovviamente, una "soluzione" è quella di far standardizzare i membri del nostro team su alcuni formattatori esterni come Jalopy o JIndent , ma non è questo il problema (anche la mia decisione su questo progetto): sto specificatamente cercando un modo per evitare il formatter di Eclipse su una base ad hoc.
Idealmente, una soluzione mi consentirà di inserire le istruzioni per il formattatore Eclipse senza richiedere ai membri del team che utilizzano Eclipse di eseguire alcuna riconfigurazione IDE (oltre alla possibilità di scegliere un commento al comando agnostico del formatter: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).