当前位置: 首页 > 面试题库 >

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

梁宏才
2023-03-14
问题内容

我有一些Java代码,其中SQL语句编写为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更易于阅读和维护(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)。


问题答案:

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

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

必须在Eclipse首选项中将“打开/关闭”功能“打开” 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



 类似资料:
  • 问题内容: 是否可以为特定的代码块关闭声纳(www.sonarsource.org)测量,而哪些是不想测量的? 一个示例是Findbugs输出的“保留堆栈跟踪”警告。离开服务器时,如果客户端不知道该异常,我可能只想将消息传递回客户端,而不包括我刚刚捕获的实际异常(因为该客户端没有该JAR,例如包含例外)。 问题答案: 这是一个常见问题解答。您可以在线上触发警告。我更喜欢使用FindBugs机制,该

  • 问题内容: 我有一些格式不一致的现有代码-有时两个空格用于缩进,有时四个空格,以此类推。代码本身是正确的,并且经过了严格的测试,但是格式却很糟糕。 在线上是否有一个地方,我可以简单地粘贴一段Python代码并自动为我缩进/设置格式?或者,是否可以执行类似的操作,并用格式化的版本覆盖每个文件? 问题答案: 编辑:如今,我建议使用autopep8,因为它不仅可以纠正缩进问题,而且(根据您的判断)可以使

  • 问题内容: 当我使用Eclipse重新格式化代码时,它会变成这样的方法标题: 变成这样的方法标题: 当我来到这里时,我以前从未使用过Eclipse,而是导入了其他人提供的项目设置。我已经看到在我使用Eclipse的小型新项目中没有这样做,因此它必须在我导入的设置中。但是我已经遍历了所有可以找到的面板,以及我可以在工作区中找到的每个隐藏文件,而且我不知道是什么原因造成的。 如何关闭它?我不希望在方法

  • 如何在Eclipse中自动格式化代码?

  • 当前状态: 我有一个使用Java 1.8.161、Maven 3.3.9、SpringBoot 2.0.1、工具Jenkins和GitLab构建的项目。我想使用google java格式作为整个团队的标准。 我的调查/解决方案: 在调查过程中,我找到了解决方案,这听起来很简单。只需更新pom文件: 而且很有效。如果我运行编译、打包、验证、安装或部署Maven lifecycle,代码就会格式化。

  • 在Visual Studio的Windows中,用于格式化或“美化”Visual Studio代码编辑器中的代码的Ctrl+K+F和Ctrl+D的等价物是什么?