如何使用 Sonarlint for IntelliJ 分析 Groovy 代码?

How do I analyze Groovy code with Sonarlint for IntelliJ?

IntelliJ 的 Sonarlint 插件会分析我们的 Java 代码,但不会分析同一项目中的 Groovy 代码。

我们有一个在命令行上与 sonar-runner 一起工作的 Grails 项目。当我安装 IntelliJ IDEA Sonarlint 插件时,该插件似乎没有从我们的命令行配置中获取设置,并且它没有像针对 Java 文件中的问题那样显示警告突出显示编辑.

我们的项目使用 "code-coverage" Grails 插件生成 XML 覆盖率报告,然后声纳运行器(命令行工具)提取指标。在sonar-project.properties中,我们设置:

# Project key within sonar
sonar.projectKey=com.mycompany:myapp
sonar.projectName=My Grails Project
sonar.projectVersion=1.0

# Source directories to analyze
sonar.sources=src/groovy, grails-app/domain, grails-app/services, grails-app/controllers, grails-app/utils, grails-app/taglib, grails-app/views

# Set language for the project to be Groovy
sonar.language=grvy

# Path to the Cobertura XML report
sonar.grvy.coveragePlugin=cobertura
sonar.groovy.cobertura.reportPath=target/test-reports/cobertura/coverage.xml

sonar.jdbc.username=...
sonar.jdbc.password=...

sonar.host.url=http://sonar.mycompany.com

sonar.jdbc.url=...
sonar.jdbc.driverClassName=...

属性文件有JDBC设置、覆盖率报告路径等

SonarLint 是与 SonarQube 不同的产品(即使有一些链接)。例如 SonarLint 不知道什么是 sonar-project.properties。目的是与 IntelliJ 集成,而不是一些外部配置。

关于 Groovy 支持,这不是计划中的,因为我们没有任何 Groovy 分析器(Groovy 的 SonarQube 插件只是重复使用 codenarc 报告 AFAIK)。如果你想 运行 IntelliJ 中的 Codenarc,已经有专门的插件。