3

我们在 Visual Studio 2015 的“连接模式”下设置了 SonarQube 5.4 和 SonarLint 2.0。一切似乎都运行良好,除非我们在服务器上自定义规则的严重性,然后这些自定义严重性设置不会显示在 Visual Studio 规则集中.

以下是我们遵循的步骤:

  1. 在服务器上自定义规则的严重性,例如从默认的“信息”到“关键”。
  2. 由于我们有“连接模式”设置,现在同步解决方案以下拉新版本的规则集。
    • 注意:为了排除“连接模式”的问题,我们还使用“SonarLint for Visual Studio Rule Set”的永久链接从 SonarQube 的“质量配置文件”页面手动下载了规则集。
  3. 打开新下载的规则集文件,注意规则仍设置为默认严重性(在此示例中,规则集仍将默认的“信息”严重性显示为规则集文件中的“警告”。我希望它已更新到“错误”)。

唯一似乎会更改下载的规则集文件的是我们在服务器上激活/停用规则,然后正确添加/删除它。

这是 SonarQube 中的错误吗?还是我们只是缺少一些工作流程?

这导致了一个后续问题:SonarQube 服务器上的严重性设置如何映射到 Visual Studio 规则集设置?我们注意到 SonarQube 上的“信息”没有映射到 Visual Studio 中的“信息”。我本来期望类似于以下映射的内容:

    SonarQube 视觉工作室
    --------- -------------
    拦截器 = 错误
    严重 = 错误
    主要 = 错误
    轻微 = 警告
    信息 = 信息
4

1 回答 1

0

问题是 SonarQube 和 Visual Studio 之间没有一对一的严重性映射,所以我们选择了一个安全的解决方案并将所有内容都导出为警告,而不是任何错误,因为这会破坏编译。

您可以在本地更改规则集,并加强规则集文件,从而将问题标记为错误。与 SonarQube 的重新同步不会恢复您的更改,如果它们使质量配置文件更强。

请注意,已创建以下票证来解决此问题:https ://jira.sonarsource.com/browse/SONARCS-591

于 2016-04-21T06:43:12.273 回答