Ktlint 忽略 .editorconfig

Ktlint ignores .editorconfig

我想试用 Kotlin 和 ktlint,很高兴看到它通过 editorconfig 文件支持制表符缩进(自 this PR 起)。可悲的是,它似乎对我不起作用。我以前没有用过editorconfig,可能是我犯了一些简单的错误。

我的 .editorconfig 在根文件夹中:

indent_style = tab

我的 gradle 文件:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

val koinVersion: String by project
val junitVersion: String by project

plugins {
    application
    kotlin("jvm") version "1.4.30"
    id("org.jlleitschuh.gradle.ktlint") version "10.0.0"
}

group = "me.me"
version = "1.0-SNAPSHOT"

application {
    mainClassName = "de.me.bot.translate.MainKt"
}

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    implementation("com.sksamuel.hoplite:hoplite-core:+")
    implementation("org.koin:koin-core:$koinVersion")

    testImplementation("org.koin:koin-test:$koinVersion")
    testImplementation(kotlin("test-junit5"))
    testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")

    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
}

tasks.test {
    useJUnitPlatform()
}

tasks.withType<KotlinCompile>() {
    kotlinOptions.jvmTarget = "13"
}

但是 运行 gradle ktlintCheck 仍然会因为意外的制表符而抛出异常。我不明白为什么。我用 --debug 运行 它,但它没有给我任何有用的信息。

Here is my project: github.com

EditorConfig 规范states:

With the exception of the root key, all pairs MUST be located under a section to take effect.

所以你的 .editorconfig 文件应该是:

root = true

[*.{kt,kts}]
indent_style = tab