【发布时间】:2020-01-21 21:42:13
【问题描述】:
当我选择代码 → 优化导入或代码 → 重新格式化代码时,IntelliJ 会 优化和排序导入,但即使我使用 Kotlin 代码样式中的代码样式设置,导入也不会排序按字典顺序(至少不完全)。例如,这是产生的输出:
import com.fasterxml.jackson.databind.ObjectMapper
import io.dropwizard.jackson.Jackson
import io.kotlintest.assertSoftly
import io.kotlintest.matchers.types.shouldBeNull
import io.kotlintest.shouldBe
import io.kotlintest.specs.ShouldSpec
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.intellij.lang.annotations.Language
import java.time.Instant // This should not be at the bottom!!!
虽然这是 ktlint 所期望的:
import com.fasterxml.jackson.databind.ObjectMapper
import io.dropwizard.jackson.Jackson
import io.kotlintest.assertSoftly
import io.kotlintest.matchers.types.shouldBeNull
import io.kotlintest.shouldBe
import io.kotlintest.specs.ShouldSpec
import java.time.Instant // should be here instead
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.intellij.lang.annotations.Language
换句话说,格式化程序似乎总是将来自java.* 包的导入放在底部,无论如何。有没有办法让它符合 ktlint 的期望(以及实际构成词典顺序的内容)?我缺少任何隐藏选项或其他什么?
我正在使用 IntelliJ IDEA 2019.3.1(终极版)和 Kotlin 插件版本 1.3.61-release-IJ2019.3-1。 ktlint 的版本是 0.36.0
【问题讨论】:
标签: kotlin intellij-idea