如何限制 SonarLint 仅分析项目中的特定模块?
How do I restrict SonarLint to analyse only spefic modules in a Project?
我正在尝试将 SonarLint 插件实现到我的 IntelliJ IDE。
我们有一个相当庞大的代码库,在 运行 扫描所有项目时,SonarLint 最终会花费大量时间,而且如果我们只想查找特定模块或子项目而不是整个代码库的代码异味和问题,我不确定该怎么做。
我尝试在我的 SonarLint 分析属性中使用以下属性
sonar.projectKey com.ttt.etrde.apps.servicemanager
sonar.projectKey高:\Source\new_folder\ets\parent\services\svcmgr
但 Sonar 最终还是从 ets 级别开始扫描整个项目。
TL;DR:你不能
长答案:您没有找到将 SonarLint 分析限制在单个模块的方法,因为这不是它的预期用途。
- SonarLint 的主要用例是在您输入代码时发现您正在处理的代码中的新问题。这会自动发生。
- 次要用例是查看您正在处理的文件中存在的问题,以便您可以在处理文件时修复它们。这在 SonarLint 的 'Current file' 选项卡
中自动可见
- 第三个用例是在提交之前仔细检查提交集中的文件。这在 'Project files' 选项卡中可见。
- 在很远的第 4 位是 "Gee, I wonder if there are other issues in my project."
但实际上,这第四个用例(您想要扩展的那个)只是作为尚未采用 SonarQube 的人的以防万一。由于您已经采用了 SonarQube 让我们看看它如何解决您的情况:
We need to tell specific teams what is wrong with their code.
鉴于不同的团队负责不同的模块,最好的办法是使用 SonarQube 的向下钻取功能来查看模块主页。为此,请转到项目的代码页,并使用模块的 "link out" 图标
进入该模块的主页。在那里,您可以看到与项目相同的所有数据。然后,这成为各个团队的去向。
Second reason is, it is good to know what all errors exist in code that has not already been analysed.
在模块主页上,您可以看到与项目主页上相同的问题明细。
我正在尝试将 SonarLint 插件实现到我的 IntelliJ IDE。 我们有一个相当庞大的代码库,在 运行 扫描所有项目时,SonarLint 最终会花费大量时间,而且如果我们只想查找特定模块或子项目而不是整个代码库的代码异味和问题,我不确定该怎么做。
我尝试在我的 SonarLint 分析属性中使用以下属性
sonar.projectKey com.ttt.etrde.apps.servicemanager sonar.projectKey高:\Source\new_folder\ets\parent\services\svcmgr
但 Sonar 最终还是从 ets 级别开始扫描整个项目。
TL;DR:你不能
长答案:您没有找到将 SonarLint 分析限制在单个模块的方法,因为这不是它的预期用途。
- SonarLint 的主要用例是在您输入代码时发现您正在处理的代码中的新问题。这会自动发生。
- 次要用例是查看您正在处理的文件中存在的问题,以便您可以在处理文件时修复它们。这在 SonarLint 的 'Current file' 选项卡 中自动可见
- 第三个用例是在提交之前仔细检查提交集中的文件。这在 'Project files' 选项卡中可见。
- 在很远的第 4 位是 "Gee, I wonder if there are other issues in my project."
但实际上,这第四个用例(您想要扩展的那个)只是作为尚未采用 SonarQube 的人的以防万一。由于您已经采用了 SonarQube 让我们看看它如何解决您的情况:
We need to tell specific teams what is wrong with their code.
鉴于不同的团队负责不同的模块,最好的办法是使用 SonarQube 的向下钻取功能来查看模块主页。为此,请转到项目的代码页,并使用模块的 "link out" 图标
进入该模块的主页。在那里,您可以看到与项目相同的所有数据。然后,这成为各个团队的去向。
Second reason is, it is good to know what all errors exist in code that has not already been analysed.
在模块主页上,您可以看到与项目主页上相同的问题明细。