如果您正在使用DeteKt来静态分析Kotlin代码并使用自定义规则,则可能会遇到自定义规则未运行的问题。为解决此问题,请按照以下步骤操作:
确保已正确配置您的DeteKt Gradle插件。请参阅DeteKt文档以获取详细信息。
在您的Gradle配置文件中,添加以下依赖项:
dependencies { detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:{VERSION}" }
package com.example.detekt
import io.gitlab.arturbosch.detekt.api.*
class MyCustomRule(s: Config) : Rule(s) { override val issue = Issue( javaClass.simpleName, Severity.Style, "This code smells funny.", Debt.TWENTY_MINS )
override fun visitProperty(property: KtProperty) { if (property.name?.contains("_") == true) { report( CodeSmell( issue, Entity.from(property), "Property names should not contain underscores." ) ) } } }
config: MyCustomRule: active: true
通过按照以上步骤操作,您可以使用自定义规则运行您的DeteKt分析。