У меня есть некоторый код 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
& rarr; STOP-FORMATTING
).