TreeWalker检查是否与Kotlin/Gradle一起工作?
我想对运行Gradle(2.14.1)的Kotlin程序使用(旧版本也有同样的问题) 正常的模块/检查(例如TreeWalker检查是否与Kotlin/Gradle一起工作?,gradle,kotlin,checkstyle,Gradle,Kotlin,Checkstyle,我想对运行Gradle(2.14.1)的Kotlin程序使用(旧版本也有同样的问题) 正常的模块/检查(例如newlineAtonOffile,FileTabCharacter,…)工作起来像一个符咒,但是TreeWalker(例如AvoidStarImport)的子模块都没有 gradle测试成功完成了BUILD(我200%确定应该有样式错误),并且BUILD/reports/checkstyle/main.html文件中有xx个文件,但没有错误 TreeWalker不跟Kotlin一起工作吗
newlineAtonOffile
,FileTabCharacter
,…)工作起来像一个符咒,但是TreeWalker
(例如AvoidStarImport
)的子模块都没有
gradle测试
成功完成了BUILD
(我200%确定应该有样式错误),并且BUILD/reports/checkstyle/main.html
文件中有xx个文件,但没有错误
TreeWalker不跟Kotlin一起工作吗?我找不到有关此的任何信息:/
build.gradle
文件中的配置:
...
apply plugin: 'checkstyle'
...
checkstyle {
toolVersion = "7.1"
configFile = new File(rootDir, "checkstyle.xml")
checkstyleMain.source = "src/main/kotlin"
checkstyleMain.ignoreFailures = false
checkstyleMain.showViolations = true
}
...
我找不到它与Kotlin有效的任何信息,因此有理由假设它不起作用,特别是考虑到它是一个自动化Java代码检查过程的工具。从中可以清楚看出,
TreeWalker
仅在扩展名为的文件上激活。
的文件:
public TreeWalker() {
setFileExtensions("java");
}
此外,它使用的是底层语言,因此它不适用于任何其他语言
正如您已经注意到的,所有其他检查都可以用于任何文件/语言。Checkstyle不支持Kotlin 作为替代方案,IntelliJ IDEA Kotlin 1.1.50+插件支持根据为项目配置的设置检查Kotlin代码样式 目前,这只是一个IDE特性,但有一个正在开发的Gradle插件具有相同的功能(目前还不可用)
感谢您的提示,我在文档中发现,我可以强制检查*.kt文件,但正如您已经提到的,Java lexer根本不喜欢这样。一些检查确实有效,但它们淹没在数百条Java语法通知中”\_(ツ)_/¯