如何使用自定义规则严重性设置从 SonarQube 下载 Visual Studio 的最新 SonarLint 规则集?

How to download the latest SonarLint rule set for Visual Studio from SonarQube with customized rule severity settings?

我们在 "connected mode" 中为 Visual Studio 2015 安装了 SonarQube 5.4 和 SonarLint 2.0。一切似乎都运行良好,除了当我们在服务器上自定义规则的严重性时,这些自定义严重性设置不会' 显示在 Visual Studio 规则集中。

以下是我们遵循的步骤:

  1. 在服务器上自定义规则的严重性,例如从默认的 "Info" 到 "Critical"。
  2. 由于我们有 "connected mode" 设置,现在同步解决方案以下载新版本的规则集。
    • 注意:为了排除 "connected mode" 的问题,我们还使用 "SonarLint for Visual Studio Rule Set".[=28= 的永久链接从 SonarQube 的 "Quality Profiles" 页面手动下载了规则集]
  3. 打开新下载的规则集文件,注意规则仍设置为其默认严重性(在此示例中,规则集仍将默认 "Info" 严重性显示为规则集文件中的 "Warning" .我希望它已更新为 "Error").

似乎唯一改变下载的规则集文件的是当我们在服务器上 activate/deactivate 一个规则,然后它 added/removed 正确。

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

这会引出一个后续问题:SonarQube 服务器上的严重性设置如何映射到 Visual Studio 规则集设置?我们注意到 SonarQube 上的 "Info" 没有映射到 Visual Studio 中的 "Info"。我会期待类似下面的映射:

    SonarQube   Visual Studio
    ---------   -------------
    Blocker   = Error
    Critical  = Error
    Major     = Error
    Minor     = Warning
    Info      = Info

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

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

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