如何禁用Eclipse“在打字时自动折叠”?

时间:2014-03-07 10:55:41

标签: eclipse folding eclipse-jdt

Eclipse(任何版本的AFAIK)都有一些与Java代码中的折叠相关的奇怪行为。假设我正在编辑这个类:

class A {
  String field;
  @Nonnull 
  Object method(){
    // whatever
  }
}

如果启用了折叠并且我告诉它要折叠所有内容(它是我的Control-NumSlash,但可能是自定义的),则该方法被正确折叠,即它仅显示该方法的Object method()...。一切都很好'直到现在。

困扰我的部分是,如果我在field;之后向右移动光标,按Enter键,输入类似“public”的内容,然后停一秒钟,Eclipse会自动折叠该单词进入下面的方法。

这似乎是合理的(可能是因为它假设我想将该限定符添加到方法中);但在实践中,我实际上正在尝试添加一种新方法,暂停一下,思考它的返回类型或可能是它的名字。 (如果我想修改方法,我首先展开它,因为它可能已经有了这个限定符,折叠了。)

我讨厌这个“功能”充满激情,但我不能为我的生活找到如何禁用它,甚至不知道哪些该死的插件(Eclipse一直坚持我不应该被删除)负责它,所以我可以提交错误报告。

那么,有没有人知道(1)这种行为来自哪里,希望(2)如何摆脱它但保持手动折叠?谢谢!

(为了记录,我正在使用Kepler SR1,但这种行为可以追溯到很长一段时间,至少五年左右。)

1 个答案:

答案 0 :(得分:1)

我不相信有任何办法阻止它这样做,除非你养成在;之后放一个分号}或关闭大括号public的习惯,这会阻止它Object method(){..来自'折叠'它。我相信这是为了折叠所有内容,直到最接近的分号,这也是为什么@Nonnull也包括在内。

我可以找到折叠的唯一选项位于窗口>偏好> Java>编辑>折叠

我认为这是一个错误,或者只是一个有意想不到的副作用的功能。

有趣的是,如果您放置几乎任何符号或拼写错误public它就不会折叠它。