Visual Studio 2015 如何将if语句后的现有代码快速移动到新放置的花括号中?

Visual Studio 2015 How to quickly move existing code after if statement into newly placed curly braces?

所以如果我有这样的东西:

 if (a>b)
      return true;

后来我决定将其更改为:

if (a>b)
{
     a++;
     return true;
}

有没有更快的方法让if语句下的现有代码直接进入新制作的花括号?因为目前如果我要在第一个示例中创建 if 语句后添加大括号,我必须从新大括号下剪切 "return true" 并将其粘贴到新制作的大括号之间。这是它的样子:

if (a>b)
{
}
return true;

这很烦人。是否有解决此问题的方法,还是我们必须手动复制并粘贴括号之间的现有行?

P.S。我正在使用 Microsoft Visual Studio 2015 ver 3 并在 c# 中编程,但我认为这个问题也发生在其他语言中,比如 c++。

突出显示代码,然后按 Alt + 向上键。使用 Alt + 向下箭头向下移动代码。也适用于多行。另外,您不必突出显示整行。只要突出显示一个字符,它就有效。

https://blogs.msdn.microsoft.com/zainnab/2013/07/01/visual-studio-2013-preview-moving-lines-of-code/

我不知道有什么更快的方法,但您可以尝试先添加底部大括号,然后在 if 旁边添加顶部大括号。唯一的问题是它会自动格式化你添加的底部大括号,除非你返回并删除并在事后添加它。

另一个可能不是很快捷的选项是突出显示 "return true",右键单击上下文菜单和 select "surround with" 和 select if (or while, or for.) 这将创建块并移动光标以便您可以输入条件。 (热键和弦为Ctrl+K,Ctrl+S。)

部分选项:

  • 使用 R#。然后,当您要添加 a++; 时,首先用光标在 return 的 'r' 之前键入左大括号,它会为您添加右大括号,当您然后按 Enter 即可输入 a++;。只需 1 次或 2 次击键,具体取决于您想要什么。 (这在 R# 中是可配置的,所以你的里程将取决于它)。

  • 也许是主观的,但这是一开始就不像原来那样编写代码,而是对单个语句块使用大括号的充分理由之一。如果这对您来说太难吃了,请将单个语句与 if()

  • 放在同一行

亚历克斯有一个很好的答案。或者,如果您不想在创建后将代码移动到 if 中,那么您也可以在正文中突出显示您想要的代码。然后按ctrl + K, S(或在右键菜单中找到'Surround with'),输入if,然后回车。

这将创建一个 if 语句并将突出显示的代码嵌入到 if 的正文中。

MissingBraces 扩展允许您添加 if/else/for/foreach 大括号作为快速操作。