【问题标题】:How to add custom rules to "StyleCop by Resharper"?如何将自定义规则添加到“Resharper 的 StyleCop”?
【发布时间】:2019-06-12 22:15:04
【问题描述】:

问题:

我的公司最近决定改进编码标准。其中一个建议是在带有括号的“if”语句之后添加一个空行。例如:

if(condition)
    statement;

statement;

这种结构在我们的代码库中被广泛使用,添加空行会增加可读性。现在我的工作是找到一种方法让 VS13 在检查中表明这一点。

尝试的解决方案:

起初我尝试使用 Resharper 来解决这个问题。

Code Editing -> C# -> Formatting Style -> Blank Lines 中没有这样的选项可用。

一个模式(在Code Inspection -> Custom Patterns 中添加)确实可以找到“if”语句,但我不能添加空行,因为根据 Internet,这超出了该功能的范围。

那时我搜索了另一个解决方案并找到了 StyleCop。我尝试的第一个版本是“Resharper 的 StyleCop”(here)。据我所知,StyleCop 也不支持此功能。但是there 是解释如何在另一个版本的 Stylecop 中添加自定义规则的文档。所以我认为在“Resharper 的 StyleCop”中也可能出现类似的情况。但不幸的是,任何地方都没有文档。

然后我使用 Visual StyleCop 并删除了 Resharper 版本。我还下载了 Visual StyleCop 的 VisualStudio Extension 并实现了我的自定义规则。扩展程序甚至发现了上述规则......但它没有在我的解决方案中标记任何内容,并且手动扫描被提前取消,没有出现错误。

附带说明:我显然不能使用 StyleCopAnalyzers,因为它与 2015 年以下的 VS 版本不兼容。

问题:

如何解决?我认为,向“Resharper 的 StyleCop”添加自定义规则的解决方案将是最优雅的。但实际上,在这一点上,任何建议都会有所帮助。

【问题讨论】:

    标签: visual-studio-2013 resharper stylecop


    【解决方案1】:

    我认为在
    代码编辑 > C# > 格式化样式 > 代码中的空白行 > After Statements with control transfer 下有一个在 single If line 之后有一个空行的选项并设置它到 1

    AFAIK 向 Stylecop 添加新的自定义规则的唯一方法(不管是否来自 R# 的规则是通过执行以下操作 -> https://www.planetgeek.ch/2009/07/19/custom-stylecop-rules-2/

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2011-08-26
      • 2017-02-22
      • 2014-02-05
      相关资源
      最近更新 更多