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



我正在运行一个带有ktlint-maven插件的Kotlin项目(第一次使用(。但每当我进行专业构建时。我经常看到的失败

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

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

从0.34或更高版本开始,您可以通过EditorConfig覆盖单个规则。将其添加到项目根目录中的.editorconfig文件中:

[*.{kt,kts}]
ktlint_no-wildcard-imports = disabled

https://pinterest.github.io/ktlint/faq/#how-do-i-全局禁用规则

我使用的是ktlint-gradle和命令./gradlew ktlintCheck,我的.editorconfig没有被使用。我通过将此添加到build.gradle来解决此问题

ktlint {
disabledRules.set(setOf("no-wildcard-imports"))
}

ktlint(再次(更改了.editoconfig中的规则布局。现在必须是:

ktlint_standard_no-wildcard-imports = disabled

最新更新