对规则集文件与 editorconfig 文件感到困惑

And*_*ens 10 visual-studio editorconfig roslyn-code-analysis visual-studio-2019

我们的组织使用包含我们组织的 StyleCop.Analyzers 设置的规则集文件。这存在于源代码控制中,我们组织中所有解决方案中的所有项目都引用此文件。如果我编辑规则集(通过项目属性 -> 代码分析选项卡),我会看到一条消息,提示我将规则集迁移到 editorconfig 文件。有人可以解释为什么我想要这样做,两者之间有什么区别?

我还注意到在 VS 工具->选项->文本编辑器->C#->代码样式中,有许多设置与许多 StyleCop.Analyzers 规则非常相似(例如,与使用“this ", vs StyleCop SA1101 "用这个前缀本地调用")。这里还有一个按钮可以根据这些设置创建 editorconfig 文件,那么这些设置如何与 StyleCop.Analyzer 设置共存,哪个优先?

此外,我们的 Azure DevOps 自动生成报告警告,其中任何代码“违反”了 StyleCop 规则。如果我们用 editorconfig 文件替换规则集,构建是否仍会执行此操作?

最后,有一个用于编辑 StyleCop.Analyzer 设置的 GUI(项目属性 -> 代码分析选项卡 ->“配置”按钮),而 editorconfig 文件似乎是使用 VS 文本编辑器编辑的。鉴于有数百条规则需要管理,您从哪里获得需要输入的完整规则列表?这会不会很乏味?

sa.*_*.he 7

引用和图片取自\xc3\x9cbersicht

\n
\n

在 EditorConfig 文件中设置规则的严重性优先于在规则集或解决方案资源管理器中设置的任何严重性。

\n
\n

当没有.editorconfig时,使用Visual Studio 中的设置(Visual\xc2\xa0Studio 菜单Tools \xe2\x86\x92 Options \xe2 \x86\x92 Text Editor \xe2\x86\x92 C# \xe2\x86\x92 Code Style给定文件或其中未配置规则。

\n

根据我的经验,最好只选择一种配置方式。我还发现,只要有任何.ruleset文件可用,以下描述的.editorconfig文件配置就不起作用/或编辑了.ruleset

\n

通过灯泡配置规则

\n

通过灯泡配置规则

\n

通过错误窗口配置规则

\n

通过错误窗口配置规则

\n

通过Solution\xc2\xa0Explorer配置规则。您还可以在此处找到所有可用规则的​​列表。

\n

通过解决方案资源管理器配置规则

\n

命令行工具尊重.editorconfig文件:

\n
\n

当您在命令行构建项目时,如果满足以下条件,则规则违规\n会出现在构建输出中:

\n
    \n
  • 分析器作为 NuGet 包安装,而不是作为 VSIX 扩展安装。
  • \n
  • 项目代码中违反了一项或多项规则。
  • \n
  • 违反规则的严重性设置为警告(在这种情况下,违规不会导致构建失败)或错误(在这种情况下,违规会导致构建失败)。
  • \n
\n
\n