eclipse - 如何禁用 Eclipse 的 "auto-folding during typing"?

标签 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,但这种行为可以追溯到很长一段时间,至少五年左右。)

最佳答案

我不相信有任何方法可以阻止它这样做,除非您养成放置分号的习惯 ;或右花括号 }之后 public这可以防止 Object method(){..从“折叠”它。我相信它的目的是将所有内容折叠到最接近的分号,这就是为什么 @Nonnull也包括在内。

我能找到的唯一折叠选项位于 窗口 > 首选项 > Java > 编辑器 > 折叠

我会认为这是一个错误,或者只是一个具有意外副作用的功能。

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

关于eclipse - 如何禁用 Eclipse 的 "auto-folding during typing"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248147/

相关文章:

java - 在本地使用 HANA 数据库运行 Java Web 应用程序

c# - 套接字 - Android 客户端到 C# 服务器的连接

eclipse - Eclipse 无法识别 Cucumber 功能

delphi - DScintilla,代码折叠对我不起作用

javascript - Aptana 3 JavaScript 代码折叠/大纲

java - 以编程方式编译 Xtend 类不起作用

eclipse - Egit 拒绝非快进

vim - VIM 中的自动完成 Systemverilog

java - 从 Eclipse 的 JDT 访问者模式中提取数据

java - 使用 JDT 将注释附加到类