如何配置Eclipse格式化程序不在字段声明之间插入空行?

时间:2010-01-20 14:21:08

标签: eclipse configuration formatting

我正在使用Eclipse 3.5.1(Galileo),并且在使用其中一种自动格式化设置时出现问题。

在我自动格式化空白行的那一刻,在每个字段声明之间插入。我正在寻找的行为是组织字段声明,之间没有空行。除非在声明之间已经存在一个或多个空行,在这种情况下,我希望格式化程序遵守空格,并将> = 1行减少为1行。

我知道这在Eclipse的某些时候是可能的(不记得版本,但我已经使用了设置),但我似乎无法在Window->Preferences->Java->Code Style->Formatter中找到正确的设置。

我配置哪种设置来启用此行为?


编辑:我所描述的行为似乎是默认行为,由于某种原因,我无法找到一种方法在不删除.settings目录的情况下返回到该行为。它也无法复制,这表明它与项目设置有些奇怪(它是从开源项目中检出的)。虽然我找到了解决这个问题的黑客方法,但我仍然在寻找建议,并且能够验证并接受答案。

3 个答案:

答案 0 :(得分:6)

Format-Config

我正在使用的Eclipse是:

Eclipse Java EE IDE for Web Developers.
Version: Indigo Service Release 2
Build id: 20120216-1857

如上图所示,空白行标签下有一个“导入组之间”,它适用于我。你可以看一下。

答案 1 :(得分:4)

奇怪,我无法使用自己的格式化程序配置文件(eclipse3.5.1)重现该行为。

2003年(bug 38523)有一个设置为“如果行太长,则在每个参数后插入新行”,但很久以前这已经集成到“线包裹”面板中。

您是否确定由于包装问题(由于最大线路长度太短)而未添加换行符?

“空白行”标签确实有一个“现有空白行”部分,其中包含“要保留的空行数”字段,该字段可以设置为1,并且应该满足您要求的后续部分。
在同一个标​​签“空行”中,还要检查“字段前声明”之前的值:“1”可以解释您看到的空行

alt text http://www.comscigate.com/environ/Eclipse/Conventions/BlankLines.gif


格式化程序选项位于 org.eclipse.jdt.ui.prefs 文件中,该文件为:

  • 在您的工作区中(.metadata.plugins \ org.eclipse.core.runtime.settings)
  • 或您项目的.settings

您可以尝试清空该文件以检查问题是否仍然存在。它解决了这个问题,尝试在该文件中添加一些行,直到问题出现。

答案 2 :(得分:1)

我找到了解决问题的方法。

我去了项目并删除了.settings目录并重新启动了Eclipse。在这个过程中,我当然失去了所有其他的格式规则,这就是为什么它很糟糕。但是不再添加空行,我描述的行为是默认行为(可能是我习惯了它的原因)。

我仍然希望接受更好的解决方案,我保留旧的设置以验证任何建议。


编辑:我想我已经找到了问题。

出于某种原因,可能与正在检出的项目设置有关,我通过“偏好设置”选择的任何设置实际上都没有被尊重。因此,虽然Von C建议的偏好是正确的,但改变它们没有任何效果。我有同样的问题试图改变自动生成的评论,但没有把两个和两个放在一起(实际提醒我这是最终看到“ARGH”在评论中生成我似乎无法删除: - p)的

所以在这种情况下,问题实际上不是设置,而是Eclipse中的其他内容我甚至不想调查。