Eu tenho algum código Java com instruções SQL escritas como strings Java (por favor, não use OR / M flamewars, o SQL incorporado é o que é - não é minha decisão).
Dividi as instruções SQL semanticamente em várias seqüências concatenadas em várias linhas de código para facilitar a manutenção. Então, em vez de algo como:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
Eu tenho algo como:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
Esse estilo torna o SQL muito mais fácil de ler e manter (IMHO), especialmente para consultas maiores. Por exemplo, posso colocar meu editor no modo "substituir" e modificar o texto no local com bastante facilidade.
Observe que esse problema se generaliza além do exemplo específico de SQL. Qualquer código que seja escrito com qualquer formatação vertical, particularmente construções de tabela, é suscetível à destruição por uma impressora bonita.
Agora, alguns membros do projeto usam o editor Eclipse e a formatação semântica geralmente é destruída quando eles formatam um arquivo de origem inteiro.
Existe uma maneira de instruir o Eclipse a ignorar certas linhas de origem com relação à formatação?
Estou procurando algo como um comentário especial que alterna o formatador Eclipse. Idealmente, esse comentário pode ser configurável para ser o que escolhermos, e outros formatadores também podem ser programados para respeitá-lo:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
Obviamente, uma "solução" é fazer com que os membros da nossa equipe padronizem em algum formatador externo, como Jalopy ou JIndent , mas não é disso que trata esta questão (também, não é minha decisão sobre esse projeto): estou procurando especificamente uma maneira de evite o formatador Eclipse em uma base ad-hoc.
Idealmente, uma solução permitirá que eu insira instruções para o formatador Eclipse sem exigir que os membros da equipe que usam o Eclipse realizem qualquer reconfiguração do IDE (além de possivelmente escolher um comentário de comando independente do formatador : STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).