Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当使用StyleCopAnalyzer(Roslyn)时,如何启用备用StyleCop规则(前缀为SX)?_C#_.net_Stylecop_Static Code Analysis_Roslyn Code Analysis - Fatal编程技术网

C# 当使用StyleCopAnalyzer(Roslyn)时,如何启用备用StyleCop规则(前缀为SX)?

C# 当使用StyleCopAnalyzer(Roslyn)时,如何启用备用StyleCop规则(前缀为SX)?,c#,.net,stylecop,static-code-analysis,roslyn-code-analysis,C#,.net,Stylecop,Static Code Analysis,Roslyn Code Analysis,对于一个现有的C#web项目,我正在尝试基于Roslyn分析器设置StyleCop代码分析。(DotNetAnalyzers/StyleCopAnalyzers) 我已经设法让它对我们所需的代码样式运行得非常好,只是我们不想使用以下默认规则: SA1101:使用此前缀作为本地呼叫的前缀 SA1309:字段名不能以下划线开头 相反,我们希望以某种方式将stylecop.pdelvo.com上提到的这些替代规则作为DisabledAlternative启用 SX1101:不要在本地呼叫前加上“

对于一个现有的C#web项目,我正在尝试基于Roslyn分析器设置StyleCop代码分析。(DotNetAnalyzers/StyleCopAnalyzers)

我已经设法让它对我们所需的代码样式运行得非常好,只是我们不想使用以下默认规则:

  • SA1101:使用此前缀作为本地呼叫的前缀
  • SA1309:字段名不能以下划线开头
相反,我们希望以某种方式将stylecop.pdelvo.com上提到的这些替代规则作为DisabledAlternative启用

  • SX1101:不要在本地呼叫前加上“this”前缀
  • SX1309:字段名必须以下划线开头
  • SX1309S:静态字段名必须以下划线开头
上面提到的站点显示,这些替代规则甚至已经实现了代码修复,所以我希望它们可以使用

我在网上反复搜索,只找到了介绍这些规则的建议帖子,以及其他关于规则如何工作、如何抑制它们等的文档,但没有找到如何启用它们

使用GlobalSuppressions.cs文件,我只能抑制一些规则,但无法启用任何规则

关于使用stylecop.json微调某些规则的文档也没有提到这一点

如何启用这些替代规则


调整现有代码以通过默认规则不是一个选项,简单地禁用SA1101和SA1309规则是可行的,但也不是最佳的。

与其他规则的方式非常相似

  • 右键单击项目>属性>代码分析
  • 您应该看到当前在项目中使用的规则集。单击“打开”
  • 您应该看到按规则族分组的规则列表,如“StyleCop analyzer规则”、“Microsoft.CodeAnalysis.CSharp.Features”等。您所需的规则位于“StyleCop analyzer规则”下
  • 您可以通过在过滤器字段中键入SX来加快搜索速度


    检查您的规则,尝试构建项目,您应该会在使用的地方看到警告/错误。太棒了!很明显,我从未去过那里。默认值是现成的,所以我甚至不知道有这样的配置选项。谢谢你的迅速解决!规则集文件语法本身如何?