【问题标题】:How does one mark issues as false positives in SonarLint?如何在 SonarLint 中将问题标记为误报?
【发布时间】:2016-07-02 21:04:04
【问题描述】:

我正在为 IntelliJ 试验 SonarLint,但我对此有点警惕。它似乎没有提供比 IntelliJ 更多的东西,甚至无法查看它提供的规则,更不用说更改它们了。

现在,也许它确实增加了一些东西,但是,现在,我收到了误报的垃圾邮件。当变量在前一行中被断言为 not null 时,诸如说变量可以为 null 之类的事情。有什么方法可以消除误报,以便我可以专注于剩下的事情?

【问题讨论】:

  • 如果它与直接使用 SonarQube 类似,那么在有问题的行上添加评论://NOSONAR 应该会阻止它。虽然尚未对其进行测试,因此这是评论建议而不是答案。
  • @Harmelodic 这可能是可能的,但我不会因为 误报而在代码中乱扔元数据。

标签: intellij-idea sonarqube intellij-14 sonarlint sonarlint-intellij


【解决方案1】:

独立模式

开箱即用,在 stadanlone 模式下,SonarLint 使用一组默认规则。您可以在SonarLint webpage 中找到规则列表。

更新:您现在可以在设置中配置规则。

连接模式

可以将项目绑定到SonarQube server,并使用其Quality Profiles,允许自定义正在使用的规则并在团队内共享规则集。

除此之外,SonarQube 中标记为 false positivewon't fix 的任何已知问题都不会显示在 SonarLint 中。

最后,即使我们不推广此功能,您也可以随时添加//NOSONAR 作为评论来隐藏问题。

更改突出显示

默认情况下,由 SonarLint 创建的问题在 IntelliJ 中突出显示为警告,但可以在以下位置进行更改:Settings > Editor > Colors & Fonts > SonarLint
更清楚 SonarLint 的贡献是有用的。

提供反馈

如果您能展示误报的具体示例,那就太好了。正如您在tracker 中看到的那样,规则不断得到改进,我们始终感谢您的反馈。 你可以打开一个关于误报的话题here

【讨论】:

  • 我发现自己也想标记误报。在my case 声纳中抱怨,因为在compareTo 旁边没有equals。我没有实现equals,因为超类为我做到了。在超类中实现equals 效果很好,因为它是我所有小类型的超类:围绕更通用类型的单个字段的域特定包装器。你同意这是误报吗?
猜你喜欢
  • 2017-05-17
  • 2016-12-25
  • 2016-03-05
  • 2019-02-05
  • 2018-02-15
  • 2015-09-12
  • 1970-01-01
  • 2017-11-25
  • 2017-02-25
相关资源
最近更新 更多