Mam trochę kodu Java z instrukcjami SQL zapisanymi jako ciągi Java (proszę nie flamewars OR / M, osadzony SQL jest tym, czym jest - nie moja decyzja).
Podzieliłem semantycznie instrukcje SQL na kilka połączonych łańcuchów w kilku wierszach kodu, aby ułatwić obsługę. Zamiast czegoś takiego:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
Mam coś takiego:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
Ten styl znacznie ułatwia czytanie i utrzymywanie kodu SQL (IMHO), szczególnie w przypadku większych zapytań. Na przykład mogę wprowadzić mój edytor w tryb „nadpisywania” i dość łatwo modyfikować tekst w miejscu.
Zauważ, że problem ten generalnie wykracza poza konkretny przykład SQL. Każdy kod napisany z dowolnym formatowaniem pionowym, szczególnie w konstrukcjach tabelarycznych, może zostać zniszczony przez ładną drukarkę.
Teraz niektórzy członkowie projektu używają edytora Eclipse, a formatowanie semantyczne jest często niszczone, gdy formatują cały plik źródłowy.
Czy istnieje sposób, aby poinstruować środowisko Eclipse, aby ignorowało pewne wiersze źródła w odniesieniu do formatowania?
Szukam czegoś w rodzaju specjalnego komentarza, który przełącza formatyzator Eclipse. Idealnie, taki komentarz mógłby być konfigurowalny, aby był tym, co wybieramy, a inne formaterery mogłyby być zaprogramowane tak, aby szanowały go:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
Oczywiście, jeden „rozwiązanie” jest, aby nasi członkowie zespołu standaryzacji na jakimś zewnętrznym formater jak gruchot lub JIndent , ale to nie to co to pytanie jest o (również nie moja decyzja w sprawie tego projektu): Ja specjalnie szuka sposobu na unikaj formatyzatora Eclipse na zasadzie ad hoc.
Idealnie, rozwiązanie pozwoli mi na wstawienie instrukcji dla formatera Eclipse bez wymagania od członków zespołu używającego Eclipse wykonania jakiejkolwiek rekonfiguracji IDE (oprócz możliwości wybrania komentarza agnostycznego formatera: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).