在与上述)
不正确对齐的方法参数调用之后返回时,代码格式化如何工作有些麻烦。目前在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中,但是我们使用了很多参数,却没有找到它
上面是自动格式化行为的一个示例,但我们的问题出在诸如Single.zip()
,Observable.concat()
之类的调用上。缩进会误导您在链中的位置。所以我们这样使用它。
Single
.zip (
/* parameters */
)
.map { /* something */ }
代替
Single.zip (
/* parameters */
)
.map { /* something */ }
感谢您的帮助或线索。
答案 0 :(得分:2)
您现在使用的格式实际上就是应该按照coding conventions来格式化此类代码的方式。如果方法调用的右括号被换行换行,则它与方法调用的开始对齐。不能选择缩进4个空格。