Eclipse(任何版本的 AFAIK)有一些与 Java 代码折叠相关的奇怪行为。假设我正在编辑这个类:
class A {
String field;
@Nonnull
Object method(){
// whatever
}
}
Run Code Online (Sandbox Code Playgroud)
如果启用折叠并且我告诉它折叠所有内容(它是我的 Control-NumSlash,但可能是自定义的),则该方法正确折叠,即它仅显示Object?method()...该方法。到目前为止一切都很好。
困扰我的部分是,如果我将光标移动到 之后field;,按 Enter,然后键入“ public”之类的内容,然后停止一秒钟,Eclipse 会自动将该单词折叠到下面的方法中。
这似乎是合理的(大概是假设我想将该限定符添加到方法中);但在实践中,我实际上是在尝试添加一个新方法,然后停下来思考它的返回类型或者它的名称。(如果我想修改该方法,我会先展开它,因为它可能已经具有折叠的限定符。)
我充满激情地讨厌这个“功能”,但我终其一生都找不到如何禁用它的方法,甚至无法找到该死的插件(Eclipse 一直坚持认为我不应该被允许删除)中的哪一个负责以便我可以提交错误报告。
那么,有没有人知道(1)这种行为来自哪里,希望(2)我怎样才能摆脱它但保持手动折叠?谢谢!
(根据记录,我使用的是 Kepler SR1,但这种行为可以追溯到很长一段时间,至少五年左右。)