【问题标题】:Resharper custom pattern for removing blank lines C#Resharper 用于删除空行 C# 的自定义模式
【发布时间】:2017-06-16 07:43:49
【问题描述】:

一位同事遇到了一个问题,他在方法头if条件之后有奇异的空白行。我们的自定义 Resharper 模板似乎无法解决此问题。我知道有一些选项可以删除这些空白行,但这些选项也会删除字段之间的空白行等。例如,两组私有字段之间的空白行可以指示不同类别的字段,无论标准是什么。 所以我想要实现的是:

public void Do()

{
  if (true)

   {
     //something
   }
}

变成

public void Do()
{
  if (true)
   {
    //something
   }

这可以通过 regex 检测该空白行使用自定义模式来实现吗?我从来没有创建过自定义的 Resharper 模式,如果这很重要的话,我还在学徒期。 提前致谢!

【问题讨论】:

  • 也许值得尝试将^\s*$ 替换为空,将\n+ 替换为\n
  • 但是代码清理会删除所有空行,不是吗?
  • 查看编辑后的答案。

标签: c# regex resharper


【解决方案1】:

编辑

在对此进行深入研究后,您似乎无法使用 Resharper 模式进行尝试。这是一个 Jetbrains 人写的:

“使用模式搜索旨在使用纯代码树,忽略所有空格、cmets 等。” source

但这仍然是您创建模式的一个很好的示例。

1 .转到 Resharper => 选项 => 代码检查 => 自定义模式 => 添加模式

2 。你的模式应该是这样的:

  1. 请注意右侧窗格 - 您必须添加名为 $statement$ 的“语句占位符”和名为 $methodName$ 的“标识符占位符”。

  2. 将模式严重性从“不显示”更改为“建议”或“警告”,否则您希望看到它。

【讨论】:

  • 这会涵盖任何可访问性和返回类型的方法吗?我遵循了每一步,但现在 Resharper 将我所有的测试方法都标记为错误,即使是那些没有空行的方法,并且应用模式没有任何改变。
猜你喜欢
  • 2014-10-14
  • 2017-10-21
  • 2016-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多