如何关闭某些Java代码段的Eclipse代码格式化程序?
我有一些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更易于阅读和维护(恕我直言),特别是对于大型查询。 例如,我可以让我的编辑器进入“覆盖”模式,并相当容易地就地修改文本。
请注意,此问题在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首选项中必须打开/关闭功能:Java> Code Style> Formatter。 点击编辑,关/开标签,启用启用关/开标签。
也可以在首选项中更改魔术字符串 - 在此查看Eclipse 3.6文档。
更多信息
Java>代码样式>格式化>编辑>关闭/打开标签
此首选项允许您定义一个禁用标签和一个标签以启用格式化程序(请参阅格式程序配置文件中的关/开标签选项卡):
您还需要启用Java格式化中的标志
来自Eclipse 3.5 M4的AFAIK在格式化程序中有一个选项“Never Join Lines”,它保留了用户换行符。 也许那是你想要的。
否则有这个丑陋的黑客
String query = //
"SELECT FOO, BAR, BAZ" + //
" FROM ABC" + //
" WHERE BAR > 4";
不要关闭格式,您可以将其配置为不加入已包装的行。 类似于Jitter的回应,这里是Eclipse STS:
属性→Java代码样式→格式化程序→启用项目特定设置或配置工作区设置→编辑→换行(选项卡)→选中“永不加入已包装的行”
保存,应用。
链接地址: http://www.djcxy.com/p/16097.html上一篇: How to turn off the Eclipse code formatter for certain sections of Java code?