Ich habe einen Java-Code mit SQL-Anweisungen, die als Java-Strings geschrieben sind (bitte keine OR/M-Flamewars, das eingebettete SQL ist, was es ist - nicht meine Entscheidung).
Ich habe die SQL-Anweisungen semantisch in mehrere verkettete Zeichenketten über mehrere Codezeilen aufgeteilt, um die Wartung zu erleichtern. Anstatt also etwas wie:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
Ich habe etwas wie:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
Dieser Stil macht das SQL viel einfacher zu lesen und zu pflegen (IMHO), besonders bei größeren Abfragen. Ich kann zum Beispiel meinen Editor in den "Überschreibmodus" versetzen und den Text an Ort und Stelle recht einfach ändern.
Beachten Sie, dass dieses Problem über das spezielle Beispiel von SQL hinausgeht. Jeder Code, der mit einer vertikalen Formatierung geschrieben wird, insbesondere Tabellenkonstrukte, ist anfällig für die Zerstörung durch einen hübschen Drucker.
Nun verwenden einige Projektmitglieder den Eclipse-Editor und die semantische Formatierung wird oft zerstört, wenn sie eine ganze Quelldatei formatieren.
Gibt es eine Möglichkeit, Eclipse anzuweisen, bestimmte Quelltextzeilen in Bezug auf die Formatierung zu ignorieren?
Ich suche so etwas wie einen speziellen Kommentar, der den Eclipse-Formatierer umschaltet. Idealerweise könnte ein solcher Kommentar so konfiguriert werden, dass er so lautet, wie wir es wünschen, und andere Formatierer könnten so programmiert werden, dass sie ihn ebenfalls berücksichtigen:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
Eine "Lösung" besteht natürlich darin, dass unsere Teammitglieder einen externen Formatierer wie Vordach o JIndent aber darum geht es in dieser Frage nicht (und auch nicht um meine Entscheidung zu diesem Projekt): Ich bin speziell auf der Suche nach einer Möglichkeit, den Eclipse-Formatierer ad hoc zu umgehen.
Idealerweise erlaubt mir eine Lösung, Anweisungen für den Eclipse-Formatierer einzufügen ohne dass Teammitglieder, die Eclipse verwenden, die IDE neu konfigurieren müssen (abgesehen von der Möglichkeit, einen formatierungsunabhängigen Befehlskommentar zu wählen: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).