0

我不明白 SonarLint 和 SonarQube 之间的以下区别。

我的 sonarLint 配置丢失了吗?

请参阅下面的打印

比较从 SonarQube 到 SonarLint 的规则

谢谢各位!

4

1 回答 1

1

对于 C# 代码,SonarLint for VS ("SLVS") 和 Scanner for MSBuild ("S4MSB") 都使用 SonarC# Roslyn 分析器。

SLVS 使用 VSIX 中嵌入的 SonarC# 版本;S4MSB 使用嵌入在 SonarQube SonarC# 插件中的版本。如果正在使用不同版本的 SonarC# 分析器,因为分析器正在积极开发中,您可能会看到报告的问题集略有不同(例如,添加了新规则、修复了误报和错误)。

一个更常见的差异来源是要运行的规则集的配置。SLVS 和 SonarQube 使用相同的默认规则集,但这是可配置的。在 SonarQube 中,规则配置是使用质量配置文件完成的。在 VS 中,它是使用标准的 VS 规则集机制完成的。

默认情况下,屏幕截图中的规则 S1244 是禁用的,所以我猜您的 SonarQube 项目正在使用已启用该规则的自定义质量配置文件。

如果您在“独立模式”下使用 SLVS(即独立于 SonarQube/SonarCloud),您将使用规则集配置要运行的规则。

如果您在 SonarQube/SonarCloud 上有一个项目,并希望在 SLVS 中本地使用相同的规则集,则可以使用“连接模式”将您的 VS 解决方案从 VS 的团队资源管理器链接到您的 SonarQube/SonarCloud 项目。SLVS 将从质量配置文件生成规则集,并配置解决方案中的项目以使用生成的规则集。

于 2019-11-06T12:21:20.740 回答