Ktlint 不允许通配符导入?(使用 IntelliJ 自动导入功能)

夢のの*_*のの夢 5 intellij-idea kotlin ktlint

我正在使用 ktlint maven 插件(第一次使用)运行 Kotlin 项目。但是每当我进行 Maven 构建时。我经常看到这样的失败

src/main/kotlin/com/myproject/model/User.kt:7:1: Wildcard import (cannot be auto-corrected)
Run Code Online (Sandbox Code Playgroud)

因为我使用 IntelliJ,所以我经常依赖自动导入,其中许多子包被分组到一个通配符 (*) 中。这是 ktline 用来强制执行良好进口做法的吗?

mat*_*ato 8

.editorconfigktlint (再次)更改了规则布局。现在它必须是:

ktlint_standard_no-wildcard-imports = disabled
Run Code Online (Sandbox Code Playgroud)


小智 7

从 0.34 版或左右版本开始,您可以通过 editorconfig 覆盖单个规则。这对我有用。 https://github.com/pinterest/ktlint#editorconfig


JJ.*_*JJ. 7

我正在使用ktlint-gradle并使用该命令./gradlew ktlintCheck,但我的 .editorconfig 没有被选中。我通过添加这个来解决它build.gradle

ktlint {
    disabledRules.set(setOf("no-wildcard-imports"))
}
Run Code Online (Sandbox Code Playgroud)