首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ktlint作为detekt中的格式化程序

ktlint作为detekt中的格式化程序
EN

Stack Overflow用户
提问于 2019-08-03 07:29:40
回答 1查看 3.8K关注 0票数 8

我使用detekt和ktlint来格式化我的代码,如下所示。

detekt.gradle

代码语言:javascript
复制
ext{
    toolVersion = "1.0.0-RC16"
}
detekt {
    input = files(...)

    filters = ".*/resources/.*,.*/build/.*"
    baseline = file("${project.rootDir}/tools/detekt-baseline.xml")
    reports{
        html{
            enabled = true
        }
        xml{
            enabled = false
        }
    }
    config = files(file("$project.rootDir/tools/detekt.yml"))
}

dependencies {
    detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:$toolVersion"
}

detekt-baseline.yml

代码语言:javascript
复制
autoCorrect: true

build:
  maxIssues: 10
  weights:
  # complexity: 2
  # LongParameterList: 1
  # style: 1
  # comments: 1

项目级build.gradle

代码语言:javascript
复制
buildscript {
    ext{...}
    repositories {...}
    dependencies {...}
}

plugins{
    id "io.gitlab.arturbosch.detekt" version "1.0.0-RC16"
}

apply from: 'tools/detekt.gradle'
...


allprojects {
    repositories {...}
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

如您所见,我在detekt.gradle.中添加了用于格式化的detekt插件我还在detekt-baseline.yml.中启用了autoCorrect但是当我运行./gradlew detekt生成的html报告时,没有对代码进行格式化,但是没有显示结果,而是显示了度量标准。

当我在detekt.gradle.中注释掉以下行后运行./gradlew detekt

代码语言:javascript
复制
//    config = files(file("$project.rootDir/tools/detekt.yml"))

它确实向我展示了一些发现,包括格式化问题(例如:不必要的空白行)

如何配置detekt以根据ktlint自动格式化代码?

这是一个android项目。

EN

回答 1

Stack Overflow用户

发布于 2020-10-29 14:08:33

由于detekt 1.1.0- in 15,您必须在gradle中启用autoCorrect:

代码语言:javascript
复制
detekt {
    autoCorrect = true
}

https://detekt.github.io/detekt/changelog-rc.html#rc15

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57336354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档