在 VS 2022 中使用 StyleCop 将自定义规则添加到 C# 项目

问题描述 投票:0回答:1

我似乎找不到一个好的教程来添加一些尚未在 StyleCop [StyleCop Package] (https://i.stack.imgur.com/RsFCI.png) 中自定义的自定义样式规则,例如创建一个规则来检查循环中的 N 层嵌套块或控制流语句,例如:[3 层深度的嵌套代码] (https://i.stack.imgur.com/DiWBP.png)。我找到了一个使用 VS 2008 的旧教程https://subscription.packtpub.com/book/programming/9781782169543/1/ch01lvl1sec16/creating+custom+rules+(intermediate) 但我相信现在不可能以类似的方式做到这一点,而且我在文档中找不到任何相关内容https://github.com/DotNetAnalyzers/StyleCopAnalyzers。我在 .NET Core 6 C# 项目中使用 Visual Studio 2022 以及上述包。如果您能分享一些对此的见解,我将不胜感激。谢谢,提前!

我尝试参考这些教程,但我相信它们不适用于当前使用 .Net 6 的 VS 2022 设置 https://subscription.packtpub.com/book/programming/9781782169543/1/ch01lvl1sec16/creating+custom+规则+(中级) https://www.planetgeek.ch/2009/07/19/custom-stylecop-rules-2/

c# .net visual-studio stylecop
1个回答
0
投票

我似乎找不到一个好的教程来添加一些尚未在 StyleCop 中自定义的自定义样式规则

那是因为

StyleCop.Analyzers
包不可扩展(即 你不能):

https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/2265

@RodionovDmitry:有没有办法在 C# 中创建自定义规则?

@sharwell:StyleCop 分析器不提供任何基础设施来帮助开发自定义规则。然而,它实际上并不需要这样做,因为编译器已经这样做了。自定义规则具有附加独立分析器包的形式。您可以将任意数量的基于 Roslyn 的分析器包安装到您的项目中,以获得您想要的完整分析。


所以你实际上想要做的是编写一个Roslyn语法分析器来检查

.cs
文件的语法树结构,记录在此处


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