关于 StyleCop 的一些问题

Some questions about StyleCop

我在 VS 2019 上同时使用 ReSharper 和 StyleCop 扩展,我有一些问题。

  1. 使用 StyleCop ReSharper 扩展和使用 StyleCop VS 扩展有什么区别?
  2. 有没有什么方法可以对我将使用的所有 C# 项目应用相同的编辑 Settings.StyleCop 而无需手动将其复制到项目文件夹中?

欢迎来到 Whosebug @tbtk,通常你不应该同时问多个问题,但由于它们密切相关,我会同时回答这两个问题。

我建议不要为 StyleCop 使用 ReSharper 或 Visual Studio 扩展。使用静态代码分析(尤其是 .net 5 之后)的首选方法是使用 NuGet 包。您可以尝试几种方法:

  • StyleCop.Analyzers
  • SonarAnalyzer.CSharp
  • Roslynator.Analyzers

这些都可以使用.editorconfig 文件进行配置。他们所有的规则都在 Project->Dependancies->Analyzers 下 Visual Studio 的解决方案资源管理器中,您可以在其中设置它们的严重性。

使用 NuGet 包的好处是您可以将它们应用到您想要的项目中。由于它们现在是您构建的一部分,因此它们将 运行 在构建服务器上,并且可以配置为在不遵守规则时使构建失败。

ReSharper 和 Visual Studio 扩展仅适用于安装它们的个人用户(每个用户可能都有自己的规则)。

您可以创建一个全局 .editorconfig 文件以应用于您的所有项目。这与旧 Settings.StyleCop 文件的工作方式相同,它会搜索您的文件夹分支直到找到该文件。

大量 Microsoft 文档:

EditorConfig settings

Code analysys using Roslyn

Analyzers vs StyleCop

您可能还会发现 ReSharper and/or Visual Studio 扩展可能不再受支持,并且在 .net/C#.[=19= 的更高版本中可能无法按预期工作]