在Resharper 9.2和Visual Studio 14(2015)中,我想在清除代码(Ctrl + E,Ctrl + C)上的左括号前删除空白行。我找不到这个设置。这是一些示例代码。
我有什么:
namespace TestApp.Test
{
public class Program
{
private string _foo;
private string _bar;
public string Qux { get; set; }
private Program()
{
}
}
}
我想要的是什么:
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 :(得分:3)
答案 1 :(得分:1)
使用Visual Studio 2017
当前文档中的使用快捷方式
Edit.DeleteBlankLines
选择所有文本并点击快捷方式
在当前项目或整个解决方案中使用正则表达式
如上所述here
Visual Studio可以使用正则表达式在替换操作中删除空行。
单击 Ctrl - H (快速替换)
勾选“使用正则表达式”或按 Alt + E
在“查找”中指定^\s*$\n|\r
在“替换”框中删除所有内容。
单击“全部替换”或 Alt + A
答案 2 :(得分:0)
这个问题也影响了我,我要做的就是先做一个简单的正则表达式查找和替换,然后再进行ReSharper代码清理。
查找
(\r?\n)(\r?\n)*(?([^\r\n])\s)*([{])
替换
$2$3
这不是一个真正的答案,我会把它放在评论中,但我还不允许我发表评论。所以我完全希望这个被标记和删除。希望你先看到它,因为当你找到真正的解决方案时,我真的很想你的反馈!