java - 方法参数返回后 intellij 代码格式无法正确缩进(kotlin 和 Java)

标签 java android-studio intellij-idea kotlin code-formatting

在方法参数调用与上述 ) 未正确对齐后返回时,我们在代码格式设置方面遇到了一些问题。目前在 AndroidStudio 3.2.1 中,但据我内存,它一直在这样做。该问题发生在 Kotlin 和 Java 中。

我们不喜欢自动套用格式的功能。

fun behaviourExample() {
    this.methodCall(
        lambda1 = { /*something*/ },
        lambda2 = { /*somethingElse*/ }
    )
        .map { "Line incorrectly indented" }
        .map { "I'd like the lines to be correctly indented" }
}

fun methodCall(lambda1: () -> Unit, lambda2: () -> Unit): String {
    return "otherThing"
}

我们希望找到参数来更改自动套用格式,如下所示:map{} 与结束的 ) 正确对齐

fun behaviourExample() {
    this.methodCall(
            lambda1 = { /*something*/ },
            lambda2 = { /*somethingElse*/ }
        )
        .map { "Line correctly indented" }
        .map { "I'd like the lines to be correctly indented" }
}

与此同时,我们正在做的是在 methodCall 之前返回,这不太漂亮,但可行。

fun behaviourExample() {
    this
        .methodCall(
            lambda1 = { /*something*/ },
            lambda2 = { /*somethingElse*/ }
        )
        .map { "Line correctly indented but I don't like to be forced to add methodCall() in a new line" }
        .map { "I'd like the lines to be correctly indented" }
}

我们怀疑它应该位于首选项 -> 代码样式 -> Kotlin 中的某个位置,但我们使用了一堆参数但没有找到它

AndroidStudio Preferences Code Style

上面是自动套用格式的行为示例,但我们的问题是诸如 Single.zip()Observable.concat() 等调用...误导你在链条中的位置。所以我们这样使用它。

Single
    .zip (
        /* parameters */
    )
    .map { /* something */ }

而不是

Single.zip (
        /* parameters */
    )
    .map { /* something */ }

感谢您的帮助或指导。

最佳答案

您现在使用的格式实际上是根据 coding conventions 来格式化此类代码的。 。如果方法调用的右括号换行,则它与方法调用的开头对齐。没有选项可以将其缩进 4 个空格。

关于java - 方法参数返回后 intellij 代码格式无法正确缩进(kotlin 和 Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53011156/

相关文章:

java - Intellij 15 错误 : could not find libjava. dylib

java - 如何从 Java 代码中刷新 Couchbase 桶?

java - 从有界 nextInt(int bound) 结果中查找 Java.util.Random 种子

java - 如何使用调试工具查找 Android 应用程序中的问题?

android - 如何在 android studio 3.0 中让 logcat 标签编辑器变大?

android - 从 Android Studio 运行时,为什么 Android 应用程序会在后台启动?

java - 单击菜单后调用另一个 Activity

java - 设置 JVM 选项以避免错误 Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1

java - 如何在 IntelliJ IDEA 中自动完成 lambda?

java - 如何修复“android相对布局中的某些小部件未出现”