为了账号安全,请及时绑定邮箱和手机立即绑定

如何为Java代码的某些部分关闭Eclipse代码格式化程序?

如何为Java代码的某些部分关闭Eclipse代码格式化程序?

慕姐4208626 2019-08-09 10:58:37
如何为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-FORMATTINGString query =     "SELECT FOO, BAR, BAZ" +     "  FROM ABC          " +     " WHERE BAR > 4      ";// START-ECLIPSE-FORMATTING显然,一个“解决方案”是让我们的团队成员对Jalopy或JIndent这样的外部格式化程序进行标准化,但这不是这个问题的原因(也不是我对这个项目的决定):我正在寻找一种方法在临时的基础上避免使用Eclipse格式化程序。理想情况下,解决方案将允许我插入Eclipse格式化程序的指令,而无需团队成员使用Eclipse进行任何IDE重新配置(除了可能选择格式化程序无关的命令注释:STOP-ECLIPSE-FORMATTING→ STOP-FORMATTING)。
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

Eclipse 3.6允许您通过放置特殊注释来关闭格式,例如

// @formatter:off...// @formatter:on

必须在Eclipse首选项中打开/关闭功能:Java>Code Style>Formatter。点击EditOff/On Tags使能Enable Off/On tags

也可以在首选项中更改魔术字符串 - 请在此处查看Eclipse 3.6文档

更多信息

Java > Code Style > Formatter > Edit > Off/On Tags

此首选项允许您定义一个禁用的标记和一个标记以启用格式化程序(请参阅格式化程序配置文件中的“关闭/打开标记”选项卡):


您还需要启用标志 Java Formatting


查看完整回答
反对 回复 2019-08-09
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

格式化程序中来自Eclipse 3.5 M4的AFAIK有一个选项“Never Join Lines”,可以保留用户行中断。也许那就是你想要的。

还有这个丑陋的黑客

String query = //
    "SELECT FOO, BAR, BAZ" + //
    "  FROM ABC"           + //
    " WHERE BAR > 4";


查看完整回答
反对 回复 2019-08-09
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

您可以使用另一种解决方案来抑制特定块注释的格式。/*-在块注释的开头使用(注意连字符),如果格式化文件的其余部分,格式不会受到影响。

/*-
 * Here is a block comment with some very special
 * formatting that I want indent(1) to ignore.
 *
 *    one
 *        two
 *            three
 */

来源:Oracle的文档


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 358 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信