如何覆盖默认 detekt.yml?

How to overwrite default detekt.yml?

有没有办法只覆盖 detekt 的几个配置属性,并保留 default-detekt-config.yml 中的大部分属性?

是的!

我假设您使用的是 gradle-plugin。实际上你可以在 config 属性:

中指定多个配置文件
gradle
detekt {
    defaultProfile {
        ...
        # config = "path/to/default.yml, path/to/my/config.yml"
        config = files(file("default-config"), file("my-config"))
    }
}

配置 属性 可以是一个 FileCollection、一个文件或只是一个带有逗号分隔路径条目的字符串。 确保首先列出默认配置文件。 现在您可以在自定义检测配置文件中覆盖每个规则设置和 属性。

看看我们@detekt 如何在此处配置两个配置 https://github.com/arturbosch/detekt/blob/master/build.gradle.kts#L206 and this is how our custom config file looks like: https://github.com/arturbosch/detekt/blob/master/reports/failfast.yml

编辑:如果您只使用 CLI,您可以编写 java -jar detekt.jar --config "first-config.yml,second-config.yml" ....