格式化规则,使类成员声明之间具有空白行

时间:2019-02-17 02:02:20

标签: c# .net visual-studio editorconfig

Micrsoft为EditorConfig提供了许多编码设置 .NET coding convention settings for 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
    }
}

1 个答案:

答案 0 :(得分:3)

Visual Studio的.NET coding convention settings for EditorConfig没有为此提供代码风格设置, EditorConfig itself也没有。

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

您可以考虑为此使用StyleCop。

StyleCop最初由Microsoft开发。该工具实现了Microsoft为C#语言定义的代码样式指南。现在,开发工作继续以开源形式进行。

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

您还可以将StyleCop用作Visual Studio扩展(StyleCop Classic),但我不建议这样做。

对于您的用例,规则SA1513是有趣的。

  

原因
  在C#元素,语句或表达式中的右花括号后没有空白行。

通常,StyleCop中有很多规则可以提高代码的可读性和结构。您可以自由选择适合您需求的规则。