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

Optimization 如何限制Sonarint仅分析项目中的特定模块?,optimization,intellij-idea,sonarqube,sonarqube-scan,sonarlint,Optimization,Intellij Idea,Sonarqube,Sonarqube Scan,Sonarlint,我正在尝试将SonarLint插件实现到我的IntelliJ IDE中。 我们有一个相当庞大的代码库,在运行扫描所有项目时,Sonarint最终会花费大量时间,而且如果我们只想发现特定模块或子项目的代码气味和问题,而不是整个代码库,我不确定如何进行 我尝试在Sonarint分析属性中使用以下属性 sonar.projectKey com.ttt.etrde.apps.servicemanager sonar.projectKey H:\Source\new\u folder\ets\parent

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

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

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

但声纳最终还是从ets层面扫描了整个项目。

TL;医生:你不能

详细回答:您没有找到将声纳分析限制在单个模块的方法,因为这不是它的用途


  • Sonarint的主要用例是在您键入代码时发现代码中的新问题。这是自动发生的
  • 第二个用例是查看您正在处理的文件中存在的问题,以便在处理时修复它们。这在Sonarint的“当前文件”选项卡中自动可见
  • 第三个用例是在提交文件之前对提交集中的文件进行双重检查。这在“项目文件”选项卡中可见
  • 排在第四位的是“哎呀,我想知道我的项目中是否还有其他问题。”
但实际上,这第四个用例(您想要扩展的用例)只是为尚未采用SonarQube的人提供的一个以防万一的例子。既然您采用了SonarQube,让我们看看它如何解决您的情况:

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

鉴于不同的团队负责不同的模块,您最好使用SonarQube的向下搜索功能查看模块主页。为此,请转到项目的代码页,并使用模块的“链接”图标

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

第二个原因是,最好知道尚未分析的代码中存在哪些错误


从模块主页上,您可以看到与项目主页上相同的问题详细信息。

SonarLint的主要使用案例是在您正在处理的文件中查找新问题。为什么要在SonarLint中分析整个模块?@G.Ann-SonarSourceTeam因为我们刚刚开始实现SonarQube ans SonarLint,一个原因是我们在SonarQube实现中没有得到特定于模块的报告,它们是按字母顺序为整个项目排列的,我们跨越了200多万行代码。我们需要告诉特定团队他们的代码有什么问题。第二个原因是,最好知道尚未分析的代码中存在哪些错误。我知道我们可以选择扫描当前文件,也可以选择扫描整个项目,但对于给定的模块没有选择。理想情况下,您希望您的问题包含这些详细信息。您没有和您没有太大的不同,您是在暗示我们无法实现还是我们不应该这样做?我询问的原因是我们的SonarQube infra团队无法实现模块级过滤器。有没有一个地方可以让我们查看样本分析属性文件,这样我们至少可以让SonarQu在POC中工作!实际上,两者都有。“无法实现模块级过滤器”是什么意思?在哪里实现?怎么用?