19

Micrsoft 为 EditorConfig 提供了一堆编码设置 .NET 为 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
    }
}
4

1 回答 1

10

Visual Studio 的EditorConfig 的 .NET 编码约定设置没有为此提供代码样式设置,EditorConfig 本身也没有。

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

您可以考虑为此使用 StyleCop。

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

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

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

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

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

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

于 2019-02-28T14:56:40.193 回答