我正在使用带有 ktlint 的 detekt 来格式化我的代码,如下所示。
detekt.gradle
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
autoCorrect: true
build:
maxIssues: 10
weights:
# complexity: 2
# LongParameterList: 1
# style: 1
# comments: 1
项目级build.gradle
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.ymlautoCorrect
中启用了。但是当我运行
Generated html report 时没有格式化代码显示没有发现,但显示了指标。./gradlew detekt
当我在detekt.gradle./gradlew detekt
中注释掉以下行后运行时。
// config = files(file("$project.rootDir/tools/detekt.yml"))
它确实显示了我的发现,包括格式问题(例如:不必要的空行)
如何配置 detekt 以根据 ktlint 自动格式化代码?
这是一个安卓项目。