将多个语句用大括号包裹

19

在Visual Studio 2010中(我也使用了ReSharper 6.1),是否有快捷键可以用花括号将所选的文本块包围起来?我尝试过"Surround With..."(Ctrl+K,Ctrl+S),但我没有看到在列表中选择花括号作为包围元素的选项。常见的用例是像下面这样的if语句:

if (conditional)
    statement1;
// the rest of the program

我会意识到在if语句中还需要执行一些额外的任务,然后我将它们添加:

if (conditional)
    statement1;
    statement2;
    statement3;
// the rest of the program

然后,我记得需要将所有语句用花括号括起来,代码应该是这样的:

if (conditional)
{
    statement1;
    statement2;
    statement3;
}
// the rest of the program

我想做的是仅选择这三个语句,然后按快捷键将它们括在花括号中。但实际上我会把光标移动到条件语句之后的行首,然后输入 { 字符,接着删除 ReSharper(不太有用的)自动插入的 } 字符,再把光标移动到块的最后一个语句并输入 } 以完成该块。


我认为这是做不到的,最接近的方法是手动输入大括号并将代码移入块中,但我猜想这不是你想要的...如果可以实现,我会很感兴趣。 - krystan honour
1个回答

25

选择代码行。

按下Ctrl E-U(环绕模板)(或Intelli J的Ctrl Alt J)。

选择选项7:{ }。

对我有效。


Ctrl E-U 对我没有用,但可能是因为我将其映射到其他功能。不过,我还是要感谢你,因为 SurroundWith 确实是正确的答案。问题在于我的键盘快捷键与 Visual Studio 版本的 SurroundWith 相关联,而不是 ReSharper 扩展。一旦我进入“工具”->“选项”->“键盘”,设置了 ReSharper.ReSharper_SurroundWith 的键盘快捷键并从默认的 Edit.SurroundWith 中删除了快捷键,它就可以正常工作了。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接