Visual Studio编辑器中是否有一种方法可以重新格式化代码块 - 例如属性或任何其他mulitline代码块 - 成一行?我将“文本编辑器”设置为“将块保留在单行上”,但是当它可以保持代码在单行上时,它不会重新格式化到单个行格式文档/选择上的行。我已尝试使用各种正则表达式模式替换,并且它可能找到行结尾,但我无法将其删除(\ n和后续行中的后续空格)并移动以下行。
我想知道如何重新格式化这个:
public int Age
{
get
{
return age;
}
}
进入这个单线:
public int Age { get { return age; } }
任何人都非常擅长使用宏或使用正则表达式替换?
答案 0 :(得分:1)
这是一个丑陋的正则表达式解决方案:
替换此模式:
^(\s*(?:(?:public|private|protected|internal|static|virtual|override|new)\s+)\S+\s+\S+)[\s\r\n]*\{[\s\r\n]*get[\s\r\n]*\{\s*(return\s+.+;)[\s\r\n]*\}[\s\r\n]*\}
有了这个:
$1 { get { $2 } }
出于某种原因,VS似乎 在[\r\n]
中包含\s
,因为它应该。
但是由于这个解决方案很难看,你应该知道ReSharper可以轻松地重新格式化你的代码(使用iths代码清理功能)并且可以高度自定义。