首页 > 解决方案 > Ktlint 忽略 .editorconfig

问题描述

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

.editorconfig在根文件夹中:

indent_style = tab

我的毕业文件:

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 运行它,但它没有给我任何有用的信息。

这是我的项目:github.com

标签: kotlineditorconfigktlint

解决方案


EditorConfig 规范指出

除根密钥外,所有对都必须位于一个部分下才能生效。

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

root = true

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

推荐阅读