sonarqube - 如何在 IDE 中使用 SonarQube 服务器上定义的 PMD 和 FinBugs 规则?

标签 sonarqube findbugs pmd

我定义了一个质量配置文件,其中包含来自 Sonar 分析器、PMD 和 Findbugs 的规则。但是,如果我想在 IDE(IntelliJ IDEA 和 Eclipse)中检查这些规则,则仅应用 Sonar 规则 ( by design )。我更喜欢 sonarqube 服务器作为单一事实来源,因此希望在我的 IDE 中使用 sonarqube 服务器上定义的 PMD 和 Findbugs 规则。据我所知,不可能从 sonarqube 服务器导出 PMD 或 Findbugs 配置文件。

使用 sonarqube 服务器作为静态编码分析的单一事实来源以及使用在 IDE 内的 sonarqube 服务器上定义的 PMD 和 Findbugs 规则的最佳方法是什么?

最佳答案

Sonar lint 是一个用于实时代码分析的插件。 Sonar lint 可以自动连接到配置的远程服务器并获取分析代码所需的质量配置文件。该插件仅扫描 SonarAnalyzer 存储库中的规则源代码(正如您所说)。

我建议您使用以下 IntelliJ 插件:

据我所知,不可能从 sonarqube 服务器导出 PMD 或 Findbugs 配置文件 - 这不是真的

可以单独导出 PMD 或 Findbugs 配置文件

创建质量配置文件并激活该质量配置文件中 pmd 和 findbugs 的所有规则。

之后,如果您单击创建的质量配置文件,例如我在下面的屏幕截图中创建的名为“pmd”的质量配置文件 enter image description here

我只在其中激活了 pmd 规则,因此您可以在左下角添加一个名为 PMD 的过滤器。

单击该过滤器,然后仅属于 pmd 的规则将显示,如下面的屏幕截图所示。

enter image description here

单击 ctrl-s 并将其保存到记事本中。这就是导出规则的方式,如果我激活了它,findbugs 也会出现在左下角。

您可以使用此文件来配置上述建议的jetbrains插件 安装插件,您可以使用导出的规则文件在设置中配置它们。

我在 android-studio 中做到了这一点。

关于sonarqube - 如何在 IDE 中使用 SonarQube 服务器上定义的 PMD 和 FinBugs 规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44156573/

相关文章:

java - 可运行接口(interface) : Replace this lambda with a method reference.(未设置 sonar.java.source。假设为 8 或更大。)

java - Findbugs Java 忽略字段或行

scala - 无法通过 sbt 正确启动 findbugs

java - 如何在pmd中创建java注释规则?

pmd - PMD中哪个优先级最高?

使用 Sonarqube 和 Jenkins 的 Python 内存分析器

java - SonarQube 看不到方法引用

java - PMD 和 FindBugs 有什么区别?

database - 如何获取在 Sonar 中引入违规的用户的详细信息?

maven - 在 Ubuntu 上安装 findbugs