如何创建我自己的SonarQube C#自定义规则?

问题描述 投票:4回答:2

我一直在做一些关于它的研究。我发现是相当不错的样本,但其他语言的here列表。

我又看了看sonar-dotnet。不过,这并不类似于其他实现。

最后,说实话也许是我最后的机会,我参加了一个快速浏览一下FxCop的自定义规则,我不知道什么是正确的方式。

我想要做的是能像this predefined by sonar进行审查,只是一个基本的C#规则。

我的意思是,使用不符合准则和标准的解决方案。

c# sonarqube sonarqube-scan
2个回答
3
投票

你指出的声纳的自定义规则的例子都是用Java编写的,并用Java编写的解析器使用的各种目标语言。对于C#和VB.NET的声纳DOTNET分析仪使用由微软提供的Roslyn framework用C#编写。

如果你想要写C#,然后写一个罗斯林分析仪绝对是做到这一点的最简单的方法自己的自定义规则(罗斯林取代的FxCop,这是现在已经过时)。不过,也有几十个免费提供的第三方罗斯林分析仪,所以它可能是有人已经写了至少一些你想要的规则。对NuGet看看,看看有什么可用。

接下来,你要由罗斯林分析仪提高到出现在SonarQube问题。如果您正在使用SonarQube(V7.4 +),该SonarScanner为的MSBuild(V4.4 +)和SonarC#插件(V7.6 +)的新十岁上下的版本,然后通过第三方罗斯林分析仪提出的问题将自动导入为generic issues。见docs更多信息。

一般问题有几个显著的局限性,只是不能够选择哪些规则在SonarQube UI运行。如果你想有一个更全面的功能体验(或如果您正在使用SonarQube的旧版本),你可以使用SonarQube Roslyn SDK生成自定义SonarQube插件封装了罗斯林分析。使用SDK很简单:那就是你对罗斯林分析仪运行的exe文件,并生成一个SonarQube插件jar为您服务。


0
投票

这要看情况。如果你想创建自己的规则,我会说,FxCop custom Rules是正确的道路要走。虽然,我有点不解。什么样的,你必须记住,不存在规则。如果你不满足于预定义之一,除了可以使用StyleCop和/或ReSharper规则集。这两个插件是可配置的。然而,当我配置SQ,我通常禁用现有规则的很大一部分,因为他们,而污染与各种风格的问题的结果。

© www.soinside.com 2019 - 2024. All rights reserved.