有没有办法在 .editorconfig 文件中定义必需的 class 成员顺序?

Is there way to define required class members order in the .editorconfig file?

我使用 .editorconfig 文件在我的 .Net 5 解决方案中定义代码样式规则。是否可以在 .editorconfig 中定义必需的 class 成员顺序?例如,public 成员应该出现在私有之前,非静态成员应该出现在静态之前,方法应该出现在属性之前。

是的,例如

csharp_preferred_modifier_order = public,private,protected,internal,static

同时勾选 https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options

认为在所有静态方法中,再次应用相同的顺序。

您无法使用 editorconfig 在 class 中定义成员顺序,但您可以使用 Roslyn 编写自定义分析器或使用 VS2019 的 CodeMaid 扩展,不确定 VSCode 扩展

我知道这不能直接回答你的问题,因为你要求在 .editorconfig 中配置它,但你可以考虑使用 StyleCop Analyzers, specifically Rule SA1202.

遗憾的是,这个非常有用的库似乎有点过时了,截至撰写本文时,将近 3 年没有正式发布。我很乐意看到它的功能合并到 .NET Roslyn 分析器中,完全 .editorconfig 支持配置规则。