У меня есть некоторый код Java с инструкциями SQL, написанными в виде строк Java (пожалуйста, не используйте пламя войны OR / M, встроенный 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 на разовой основе.
В идеале решение позволит мне вставить инструкции для форматера Eclipse, не требуя от членов команды, использующих Eclipse, каких-либо реконфигураций IDE (кроме возможности выбора комментария к команде, не зависящей от форматера: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
).