IntelliJ не сортирует Kotlin импорт в соответствии с ожиданиями ktlint - PullRequest
2 голосов
/ 22 января 2020

Когда я выбираю «Код» → «Оптимизировать импорт» или «Код» → «Переформатировать код», IntelliJ оптимизирует и сортирует импорт, но даже если я использую настройки стиля кода из Kotlin стиля кода, импорт не выполняется. отсортировано в лексикографическом порядке c (по крайней мере, не полностью). Например, это вывод:

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 (и что на самом деле составило бы лексикографический c порядок)? Любая скрытая опция, которую я пропускаю или что-то в этом роде?

Я использую IntelliJ IDEA 2019.3.1 (Ultimate Edition) с плагином Kotlin версии 1.3.61-release-IJ2019.3-1. Версия ktlint - 0.36.0

1 Ответ

5 голосов
/ 22 января 2020

Это ошибка / отсутствующая функциональность в плагине Kotlin IDEA: https://youtrack.jetbrains.com/issue/KT-10974. Пожалуйста, проголосуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...