任何方式与VS2008中的花括号{}围绕代码块?

我总是发现自己需要用大括号{}封装一段代码,但不幸的是,这不包括在C#环绕代码片段中,这似乎是一个疏忽。 我无法find任何build立自己的环绕片段(只是其他types的片段)的任何东西。

我实际上也在运行Resharper,但它似乎没有这个function(或者我还没有想到如何激活它)。

我们有一个编码标准, 即使是在花括号之后也包含一行代码 ,所以如果我可以让Resharper自动进行重构,那就更好了!

这是一个快速和肮脏的片段来做到这一点。

安装:

将代码保存为SurroundWithBraces.snippet"<my documents>\Visual Studio Version\Code Snippets\Visual C#\My Code Snippets"

使用:

select文本块。
按下Ctrl+K, Ctrl+S
select我的代码片段,大括号

 <?xml version="1.0" encoding="utf-8" ?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>braces</Title> <Shortcut>braces</Shortcut> <Description>Code snippet to surround a block of code with braces</Description> <Author>Igor Zevaka</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="csharp"> <![CDATA[{ $selected$ $end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets> 

在ReSharper 4.5中,大括号内含“环绕模板”:

  1. select你想要的大括号的文字。
  2. ReSharper -> Code -> Surround With... -> {}

    要么

    ALT + R -> C -> S -> 7

    要么

    Ctrl+E, U -> 7 (Visual Studioscheme)

    要么

    Ctrl+Alt+J -> 7 (ReSharper 2.x / IDEAscheme)

怎么样:

 Ctrl-X, {, Ctrl-V, } 

你甚至可以把它绑定到一个macros。

在VS2015中有一个实验性的function,通过select文本和input来支持它。

看这里如何启用。

制作您自己的自定义代码片段来做到这一点。 您可以使用snippy创build自己的http://blogs.msdn.com/gusperez/articles/93681.aspx,或者使用XML编辑器创build一个。;

将该文件放在我的文档\ Visual Studio XXXX \代码片段\ C#\我的代码片段

为了完成Ray Vega的回答,对于那些使用Resharper的人,我想你可以将一个快捷方式关联到Resharper命令。

只要做到以下几点(我正在使用VS 2010):

进入工具 – >选项

在列表框中,扩展环境并单击键盘。

在“显示包含命令”下的字段中input“resharper.resharper_surroundwith”

在“按快捷键”下的字段中input您的快捷方式(例如:我selectCtrl + R,Ctrl + S)并单击分配,然后确定。

而已。 您可以select您的代码,并键入该shorcut查看所有Resharper SurroundWith命令。 只需input7把括号。

编辑:这原来是从DevExpress DxCore的一部分。 离开这里让其他人注意,但基本上我错了错。 为了使这个特定的菜单消失,你可以在“添加”对话框中禁用它。 卸载devexpress从他们自己的菜单只是卸载CodeRush /重构,而不是基地的支持库。

这是(不!)一个内置的方式来做到这一点。 我不知道你是否可以绑定一个密钥。 另外,如果你只select一行,这个embedded就不会做任何事情,所以如果你的东西在“if”之后的一行上,它可能不会正常工作。

  1. select块
  2. 右键点击
  3. select“embeddedselect”
  4. select“阻止{}”

注意:我已经安装了DexExpress,但是即使没有加载,这个菜单仍然存在,即使没有安装,我也可以发誓。 但是,如果我错了…

这老实说,似乎是最好的问问r#for,用户贡献也许?

你可以用大括号包装一个代码块

  1. 突出显示代码块
  2. Ctrl e – > Ctrl u
  3. select选项7

我知道这是一个老问题,但我希望它可以帮助别人

参考: 用大括号包装多个语句