【问题标题】:Kotlin function "collapse all" in IntelliJ / Android StudioIntelliJ / Android Studio 中的 Kotlin 函数“全部折叠”
【发布时间】:2020-03-11 22:43:21
【问题描述】:

对于 Java 类 IntellliJ/Android Studio 的“全部折叠”键盘快捷键只折叠方法:

然而,对于 Kotlin 类来说,情况并非如此。相反,整个班级都被折叠了。在我将此报告为错误之前,是否有已知的标志/解决方法/设置?我在 IntelliJ/AndroidStudio 首选项中看不到改变“全部折叠”实际折叠的方法

==========================

更新:

多种方法,测试不同的光标位置。

Java:

科特林:

【问题讨论】:

  • 安卓开发者必备的功能。

标签: android-studio intellij-idea kotlin keyboard-shortcuts


【解决方案1】:

折叠区域的实现方式因语言而异。

如您所见,左侧编辑器槽中没有 Java 类的折叠区域。

另一方面,Kotlin 为类定义了折叠区域。

这不是错误,而是实现方式的差异,并且没有设置来控制这种行为。如果您认为应该改进,欢迎在YouTrack 提出请求。

【讨论】:

【解决方案2】:

键盘快捷键取决于你的光标所在的范围。在第一个 gif 中,你的光标在方法的范围内,所以键盘快捷键折叠了方法。但是在第二个gif中,你的光标不在任何方法的范围内,而是在类的范围内,所以类被折叠了。

【讨论】:

  • 我承认无法从我的屏幕截图中分辨出来,但我使用的是“全部折叠”键盘快捷键,而不是“折叠”快捷键。如果我在每个类中使用两个方法重现上面的示例并尝试在不同位置使用光标然后折叠所有 stil.collapses java 文件中的所有方法,但折叠 kotlin 文件中的整个类。
【解决方案3】:

折叠 Kotlin 中的所有方法

在 Java 文件中,只需按 CTRL、SHIFT 和 - 即可, 如果您想在 IntelliJ 中折叠 Kotlin 文件中的所有方法,有一种方法可以帮助您轻松完成。

初始状态:

class Person {
    private fun methodA() {
        //method body
    }
    private fun methodB() {
        //method body
    }
    private fun methodC() {
        //method body
    }
}

同时按CTRLSHIFT-

你会得到:

class Person {...}

现在将光标按在三个点内 {...}

你会得到:

class Person {
    private fun methodA() {...}
    private fun methodB() {...}
    private fun methodC() {...}
}

这比折叠每个方法要容易得多,尤其是当您在 Kotlin 文件中有数百个方法时。

【讨论】:

    【解决方案4】:

    超级未来

    只需按 CTRL + SHIFT + -

    (CTRL 和 SHIFT 和 - )

    只需按 CTRL + SHIFT + +

    (CTRL 和 SHIFT 和 +)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-27
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 2020-01-02
      • 2011-04-21
      • 1970-01-01
      相关资源
      最近更新 更多