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

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

我有一些用SQL语句编写成Java字符串的Java代码(请不要使用OR/M flmewar,嵌入式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-FORMATTINGString query =
    "SELECT FOO, BAR, BAZ" +
    "  FROM ABC          " +
    " WHERE BAR > 4      ";// START-ECLIPSE-FORMATTING

显然,一个“解决方案”是让我们的团队成员在一些外部格式化程序上标准化,比如捷尔比金登特但这个问题并不是关于这个问题的(也不是我对这个项目的决定):我正在寻找一种特殊的方法来避免Eclipse格式化程序。

理想情况下,解决方案将允许我插入Eclipse格式化程序的指令不需要团队成员使用Eclipse进行任何IDE重新配置(除了可能选择与格式化程序无关的命令注释之外:STOP-ECLIPSE-FORMATTING → STOP-FORMATTING).


慕雪6442864
浏览 595回答 3
3回答

富国沪深

Eclipse3.6允许您通过放置一个特殊的注释来关闭格式化,如// @formatter:off...// @formatter:onEclipse首选项中的ON/OFF功能必须打开:爪哇>代码样式>格式化程序..点击编辑, 关闭/打开标签,启用启用关闭/打开标记.也有可能改变首选项中的魔法字符串-查看这里的Eclipse3.6文档.更多信息爪哇 > 代码样式 > 格式化程序 > 编辑 > 关闭/打开标签此首选项允许您定义一个要禁用的标记和一个启用格式化程序的标记(请参阅格式化程序配置文件中的OFF/ON标记选项卡):您还需要启用Java格式

牛魔王的故事

格式化程序上的Eclipse3.5M4中的AFAIK有一个“永不联接行”选项,它保留了用户行中断。也许那能做你想要的。否则就会有个丑恶的黑客String query = //     "SELECT FOO, BAR, BAZ" + //     "  FROM ABC"           + //     " WHERE BAR > 4";

MYYA

看见这个答案是这么说的.还有另一种解决方案,您可以使用它来抑制特定块注释的格式设置。使用/*-(注意连字符)在块注释的开头,如果格式化文件的其余部分,格式不会受到影响。/*-  * Here is a block comment with some very special  * formatting that I want indent(1) to ignore.  *  *    one  *        two  *            three  */资料来源:Oracle的文档.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java