【发布时间】:2016-07-27 08:39:21
【问题描述】:
我们在 Visual Studio 2015 的“连接模式”下设置了 SonarQube 5.4 和 SonarLint 2.0。一切似乎都工作正常,除非我们在服务器上自定义规则的严重性,然后这些自定义严重性设置不会显示在 Visual Studio Studio 规则集。
以下是我们遵循的步骤:
- 在服务器上自定义规则的严重性,例如从默认的“信息”到“关键”。
- 由于我们设置了“连接模式”,现在同步解决方案以下拉新版本的规则集。
- 注意:为了排除“连接模式”问题,我们还使用“SonarLint for Visual Studio 规则集”的永久链接从 SonarQube 的“质量配置文件”页面手动下载了规则集。
- 打开新下载的规则集文件,注意该规则仍设置为其默认严重性(在此示例中,规则集仍将默认“信息”严重性显示为规则集文件中的“警告”。我希望它已更新为“错误”)。
似乎唯一改变下载的规则集文件的是我们在服务器上激活/停用规则,然后正确添加/删除它。
这是 SonarQube 中的错误吗?还是我们只是缺少一些工作流程?
这导致了一个后续问题:SonarQube 服务器上的严重性设置如何映射到 Visual Studio 规则集设置?我们注意到 SonarQube 上的“信息”没有映射到 Visual Studio 中的“信息”。我本来希望得到类似以下映射的内容:
SonarQube 视觉工作室 --------- ------------- 拦截器 = 错误 严重 = 错误 主要 = 错误 轻微 = 警告 信息 = 信息【问题讨论】:
-
是否还有其他活动规则集使用旧级别的更改规则?
-
不,我们在 SonarQube 中只有一个质量配置文件(默认)。我们在 Visual Studio 中的 C# 项目只包含一个规则集。我尝试直接从 SonarQube 下载规则集,但下载的规则集中的严重性也没有改变。
-
优先级的变化存储在 active_rules 表的 failure_level 列中。该值被转换为 Severity 对象。可能 QProfileExporters 有问题
-
我们检查了 active_rules 表,表中的严重性正在发生变化,与 SonarQube UI 相同。但是,当我们下载 Visual Studio 规则集时,Visual Studio 严重性似乎与 SonarQube 严重性不对应。我觉得这是如何从 SonarQube 生成 Visual Studio 规则集文件的问题。
-
我同意。请参阅this 问题。
标签: sonarqube sonarlint sonarlint-vs