与引用的SonarQube服务器相比,SonarLint未显示所有记录

Uhl*_*hla 9 eclipse intellij-idea sonarqube eclipse-mars sonarlint

我们在连接模式下使用SonarQube服务器版本5.3和SonarLint 2.0.作为一个IDE我们使用Eclipse 2.0火星,当我们比较由SonarQube服务器与IDE内SonarLint发现结果发现结果,结果不同(例如文件在IDE 274个错误,在SonarQube 826点的问题!).

通常的区别之一是"变量可以被宣布为最终".

我的一位使用SonarLint进行IntelliJIdea的同事也有类似的问题(Idea版2016.1.1,SonarLint 2.0.2,示例文件 - 与IDE 293错误中的比较相同).

我想知道为什么在服务器甚至IDE之间存在这种差异.

有人可以帮我解决这个问题吗?谢谢.

小智 12

我正面临一个类似的问题,这个例子说明了:SonarLint 2.0.2:99问题.SonarQube 5.4 UI:116个问题.由2个属于Checkstyle插件的规则引起的差异.

当你在谈论"变量可以被宣布为最终"时,我假设你缺少的问题背后的规则是pmd:LocalVariableCouldBeFinal,它属于PMD插件.

Fabrice在SonarQube谷歌集团评论了这个主题他们"不会添加对任何外部引擎的支持":SonarQube Google Group(对于PMD,Checkstyle,Findbugs和其他人来说......)

很遗憾,我们只能使用SonarLint规则列表中提到的规则,这些规则由SonarQube开箱即用(即他们的Java插件).


Fab*_*eam 6

首先,SonarQube对您的项目进行全面分析,而SonarLint仅分析您打开的文件.所以我真的不知道你的问题比较是如何有意义的(除非你在Eclipse中逐个打开所有文件).

其次,SonarLint比SonarQube显示更少或更多问题有一些已知的原因:

  • 基于度量的一些规则仅在SonarQube中计算.例如:
    • 覆盖范围不足(线路或分支)
    • 评论密度不足
    • 重复的代码
  • 您可能已在SonarQube上定义了问题排除项,SonarLint中尚未将其考虑在内
    • 但这很快就会到来
  • 您可能已在SonarQube上定义了源代码排除项,SonarLint中尚未将其考虑在内
    • 但这很快就会到来