如何设置eclipse忽略方法调用后的换行符?
如何设置eclipse忽略方法调用后的换行符?
我有一些带有SQL语句的Java代码,这些语句是以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更容易阅读和维护(在我看来),特别是对于更大的查询。例如,我可以将我的编辑器置于“覆盖”模式,相当轻松地原地修改文本。
请注意,这个问题不仅限于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
)。
Eclipse 3.6允许您通过放置特殊注释来关闭格式化,例如
// @formatter:off ... // @formatter:on
在Eclipse首选项中必须打开“on/off”功能:Java > Code Style > Formatter。单击Edit,Off/On Tags,启用Enable Off/On tags。
在首选项中还可以更改魔法字符串 – 在这里查看Eclipse 3.6文档。
更多信息
Java
>
Code Style
>
Formatter
>
Edit
>
Off/On Tags
这个首选项允许您定义禁用格式化的一个标签和启用格式化的一个标签(请参见您的格式化程序配置文件中的Off/On Tags选项卡):
您还需要启用Java Formatting中的标志。