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

Bas*_*sin 12 .net c# visual-studio editorconfig

Micrsoft为EditorConfig的EditorConfig .NET编码约定设置提供了大量编码设置

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

// "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
    }
}
Run Code Online (Sandbox Code Playgroud)

dym*_*oid 5

Visual Studio的EditorConfig.NET编码约定设置不提供相应的代码样式设置,EditorConfig本身也不提供。

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

您可以考虑为此使用StyleCop。

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

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

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

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

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

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

  • 现在(2022年7月)还做不到吗? (5认同)