如何限制SonarLint仅分析项目中的特定模块?

时间:2017-05-25 13:40:57

标签: optimization intellij-idea sonarqube sonarqube-scan sonarlint

我正在尝试将SonarLint插件实现到IntelliJ IDE中。 我们有一个相当庞大的代码库,并且在运行扫描所有项目时,SonarLint最终花费了大量时间,同样如果我们想要查找代码气味和问题只与特定模块或子项目而不是整个代码库,我不是确定如何去做。

我尝试在SonarLint中使用以下属性分析属性

sonar.projectKey com.ttt.etrde.apps.servicemanager sonar.projectKey H:\ Source \ new_folder \ ets \ parent \ services \ svcmgr

但是Sonar最终仍然从ets级别一直扫描整个项目。

1 个答案:

答案 0 :(得分:1)

TL; DR:你不能

答案很长:您没有找到将SonarLint分析限制为单个模块的方法,因为这不是它的预期用途。

  • SonarLint的主要用例是在您键入的代码中找到新问题。这会自动发生。
  • 次要用例是查看您正在处理的文件中的现有问题,以便您可以在进行修复时解决这些问题。这在SonarLint的“当前文件”选项卡中自动可见
  • 第三个用例是在提交之前仔细检查提交集中的文件。这在“项目文件”选项卡中可见。
  • 在非常遥远的第四位是“哎呀,我想知道我的项目中是否还有其他问题。”

但实际上,第四个用例(您要扩展的用例)仅作为尚未采用SonarQube的人提供。由于 采用了SonarQube,让我们看看它如何解决您的情况:

  

我们需要告诉特定团队他们的代码有什么问题。

鉴于不同的团队负责不同的模块,您最好的选择是使用SonarQube的钻取能力来查看模块主页。为此,请转到项目的“代码”页面,然后使用模块的“链接输出”图标

enter image description here

访问该模块的主页。在那里,您可以看到您为项目看到的所有相同数据。然后,这就成为了各个团队的目标。

  

第二个原因是,很好地了解尚未分析的代码中存在的所有错误。

从模块主页,您可以在项目主页上找到相同的问题下钻。