2015-10-20 105 views
7

在Resharper 9.2和Visual Studio 14(2015)中,我想在清除代码(Ctrl + E,Ctrl + C)的前括号之前删除空行。我无法找到此设置。这里是一些示例代码。Resharper:删除括号前的空行

我有什么:

​​

我想要什么:

namespace TestApp.Test 
{ 
    public class Program 
    { 
     private string _foo; 

     private string _bar; 

     public string Qux { get; set; } 

     private Program() 
     { 
     } 
    } 
} 

选项 '后删除空行 “{” 和之前的 “}” 声明' 后“删除空行“代码”中的“{”和“}”不适用于此问题。

当我设置选项'保留最大空行数在'声明''0'空白行被删除,但也是所有空白行之间的字段和属性。因此,我想保持在'1'。

我不想要什么:

namespace TestApp.Test 
{ 
    public class Program 
    { 
     private string _foo; 
     private string _bar; 
     public string Qux { get; set; } 
     private Program() 
     { 
     } 
    } 
} 

回答

0

此问题会影响我为好,我做什么,要解决它是做一个简单的正则表达式查找和替换第一,然后做我的ReSharper的代码清理。

查找

(\r?\n)(\r?\n)*(?([^\r\n])\s)*([{]) 

更换

$2$3 

这是不是一个真正的答案,我就已经把它在一个评论,但因此不会允许我尚未置评。所以我完全期待这个被标记和删除。希望你首先看到它,因为当你找到真正的解决方案时,我会非常喜欢你的反馈!

+0

我们做保存自动清理,我不能让我的同事们要做到这一点,但也许我可以做到这一点,不时。我仍然希望ReSharper选项可用于此。 :-) – hvk

1
  1. 转到Resharper->选项 - >代码Editing-> C# - >格式化风格 - >空白行
  2. 设置 '请声明最大空行' 为 '0'
  3. 集“周围的单行场”到‘1’
  4. 享受