我有一些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更容易阅读和维护(恕我直言),尤其是对于较大的查询 . 例如,我可以将我的编辑器置于“覆盖”模式并相当容易地就地修改文本 .
Note that this issue generalizes beyond the particular example of SQL. Any code that is written with any vertical formatting, particularly tabular constructs, is susceptible to destruction by a pretty printer.
现在,一些项目成员使用Eclipse编辑器,并且在格式化整个源文件时经常会破坏语义格式 .
Is there a way to instruct Eclipse to ignore certain lines of source with respect to formatting?
我正在寻找像切换Eclipse格式化程序的特殊注释 . 理想情况下,这样的评论可以配置为我们选择的任何内容,其他格式化程序也可以编程为尊重它:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
显然,一个"solution"是让我们的团队成员在一些外部格式化程序(如Jalopy或JIndent)上标准化,但是's not what this question is about (also, not my decision on this project): I'm特别寻找一种方法来临时避免Eclipse格式化程序 .
理想情况下,解决方案将允许我插入Eclipse格式化程序 without requiring team members using Eclipse to do any IDE reconfiguration 的指令(除了可能选择格式化程序无关的命令注释: STOP-ECLIPSE-FORMATTING → STOP-FORMATTING ) .