C# 在类成员声明之间有空行的格式化规则

C# 在类成员声明之间有空行的格式化规则,c#,.net,visual-studio,editorconfig,C#,.net,Visual Studio,Editorconfig,Micrsoft为EditorConfig提供了一系列编码设置 但无法找到创建规则的方法,这将建议开发人员在类成员声明之间添加空行 // "Bad" style public class Order { private readonly IRepository _repository; private readonly IPriceCalculator _priceCalculator; public Order(IRepository repository, IPri

Micrsoft为EditorConfig提供了一系列编码设置

但无法找到创建规则的方法,这将建议开发人员在类成员声明之间添加空行

// "Bad" style
public class Order
{
    private readonly IRepository _repository;
    private readonly IPriceCalculator _priceCalculator;
    public Order(IRepository repository, IPriceCalculator priceCalculator)
    {
        _repostitory = repository;
        _priceCalculator = priceCalculator;
    }
    public CopyFrom(Order originalOrder)
    {
        // Create new order
    }
    public Cancel(Customer customer)
    {
        // Cancel order
    }
}

// Good style
public class Order
{
    private readonly IRepository _repository;

    private readonly IPriceCalculator _priceCalculator;

    public Order(IRepository repository, IPriceCalculator priceCalculator)
    {
        _repostitory = repository;
        _priceCalculator = priceCalculator;
    }

    public CopyFrom(Order originalOrder)
    {
        // Create new order
    }

    public Cancel(Customer customer)
    {
        // Cancel order
    }
}
Visual Studio没有为此提供代码样式设置, 政府也没有

因此,仅使用EditorConfig无法创建这样的规则

你可以考虑使用StudioPoP。

StyleCop最初由Microsoft开发。该工具实现了微软为C语言定义的代码风格准则。现在,开发继续以开源方式进行

作为代码分析器(例如via)提供,因此您甚至可以为您的项目和解决方案单独配置它。当然,您可以将配置存储在存储库中,以便在所有开发人员之间同步设置。配置存储在
.ruleset
文件中,Visual Studio本机支持该文件格式

您也可以将StyleCop用作visualstudio扩展(stylecopclassic),但我不建议这样做

对于您的用例,这个规则很有趣

原因
C#元素、语句或表达式中的右大括号后面没有空行


一般来说,StyleCop中有很多规则可以提高代码的可读性和结构。您可以自由选择适合您需要的规则。

您可以创建
DiagnosticanAnalyzer
+
CodeFixProvider
。这种格式设置选项从未存在过。最基本的问题是它需要一个解析器,但编辑器使用一个词法分析器。解析器很难正确实现,因为它们不能很好地处理花括号语言中的语法错误。当你忙于输入代码时,总是有很多这样的人在你身边。Resharper往往是标准的建议,但也要设法解决这个问题。