У меня есть Java-код с операторами SQL, написанными как строки Java (пожалуйста, нет OR/M flamewars, встроенный SQL - это то, что есть, а не мое решение).
Я разделил SQL-запросы семантически на несколько конкатенированных строк на несколько строк кода для удобства обслуживания. Поэтому вместо чего-то вроде:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
У меня есть что-то вроде:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
Этот стиль упрощает чтение и обслуживание SQL (IMHO), особенно для больших запросов. Например, я могу поместить мой редактор в режим "перезаписывания" и довольно легко изменить текст на месте.
Обратите внимание, что эта проблема обобщается за пределами конкретного примера SQL. Любой код, написанный с любым вертикальным форматированием, особенно табличные конструкции, подвержен разрушению красивым принтером.
Теперь некоторые члены проекта используют редактор Eclipse, и семантическое форматирование часто разрушается, когда они форматируют весь исходный файл.
Есть ли способ проинструктировать Eclipse игнорировать некоторые строки источника в отношении форматирования?
Я ищу что-то вроде специального комментария, который переключает форматировщик Eclipse. В идеале такой комментарий может быть сконфигурирован как то, что мы выберем, и другие форматы могут быть запрограммированы так же, как и его:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
Очевидно, что одно "решение" состоит в том, чтобы наши члены команды стандартизировали какой-то внешний форматтер, например Jalopy или JIndent, но это не то, о чем этот вопрос (а также не мое решение по этому проекту): я специально ищу способ избежать форматирования Eclipse ad-hoc.
В идеале, решение позволит мне вставлять инструкции для форматирования Eclipse , не требуя от членов команды, использующих Eclipse, выполнять любую реконфигурацию IDE (кроме, возможно, выбора комментария команды агностики formatter: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).