我有一些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格式化程序在特定的基础上。
理想情况下,解决方案将允许我为Eclipse格式化程序插入指令,而不需要团队成员使用Eclipse做任何IDE重新配置(除了可能选择格式化程序不可知的命令注释:STOP-ECLIPSE-FORMATTING→STOP-FORMATTING)。