在VS2008中使用Curly Braces {}包围代码块的任何方法?

时间:2010-05-04 22:55:30

标签: c# visual-studio-2008 refactoring resharper code-snippets

我总是发现自己需要在花括号 {} 中包含一段代码,但不幸的是,这不包含在C#环绕声代码片段中,这似乎是一种疏忽。我也找不到任何建立你自己的环绕片段的东西(只是其他类型的片段)。

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

我们有一个编码标准,在 if else 的花括号中包含甚至一行代码,所以如果我能只需让Resharper自动进行重构就会更好!

8 个答案:

答案 0 :(得分:48)

这是一个快速而又脏的代码片段。

安装:

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

使用:

选择文本块 按Ctrl+K, Ctrl+S
选择我的代码片段,大括号

<?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>

答案 1 :(得分:37)

在ReSharper 4.5中,花括号作为内置的“环绕模板”之一包含在内:

  1. 选择您想要卷曲的文字 支撑着。
  2. ReSharper -> Code -> Surround With... -> {}

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

    Ctrl+E, U -> 7 (Visual Studio方案)

    Ctrl+Alt+J -> 7 (ReSharper 2.x / IDEA计划)

答案 2 :(得分:19)

怎么样:

Ctrl-X, {, Ctrl-V, }

您甚至可以将其绑定到宏。

答案 3 :(得分:3)

在VS2015中,有一个实验性功能,通过选择文本并输入}来支持它。

请参阅here如何启用。

答案 4 :(得分:1)

制作您自己的自定义代码段。 您可以使用snippy创建自己的http://blogs.msdn.com/gusperez/articles/93681.aspx 或者只使用XML编辑器创建一个。

将文件放入My Documents \ Visual Studio XXXX \ Code Snippets \ C#\ My Code Snippets

答案 5 :(得分:1)

要完成Ray Vega的回答,对于那些使用Resharper的人,我发现你可以将一个快捷方式与Resharper命令联系起来。

只需执行以下操作(我使用的是VS 2010):

转到工具 - >选项

在列表框中,展开Environment并单击Keyboard。

在&#34;显示命令包含:&#34;下的字段中;输入&#34; resharper.resharper_surroundwith&#34;

在&#34;按快捷键&#34;下的字段中输入您的快捷方式(例如:我选择Ctrl + R,Ctrl + S)并单击“分配”,然后单击“确定”。

那就是它。您可以选择代码,然后键入该缩略图以查看所有Resharper SurroundWith命令。只需输入7即可放入括号。

答案 6 :(得分:0)

编辑:这是DevExpress的DxCore的一部分。离开这里让其他人注意到,但基本上我错了错了。要使此特定菜单消失,请在“添加输入”对话框中禁用它;从他们自己的菜单中卸载devexpress只需卸载CodeRush / Refactor,而不是基本支持库。

(不是!)内置的方法。我不知道你是否可以绑定密钥。此外,如果您只选择一行,则此嵌入不会执行任何操作,因此如果您的内容位于“if”之后的一行,则可能无法正常工作。

  1. 选择块
  2. 右键单击
  3. 选择“嵌入选择”
  4. 选择“阻止{}”
  5. 注意:我安装了DexExpress,但是即使它没有加载,这个菜单就在那里,我发誓即使它没有安装也就在那里。但是,如果我错了......

    老实说,这似乎最好是问一个r#for,一个用户贡献?

答案 7 :(得分:0)

您可以使用大括号包装代码块

  1. 突出显示代码块
  2. Ctrl e - &gt; Ctrl u
  3. 选择选项7
  4. 我知道这是一个老问题,但我希望它有助于某人

    参考:Wrapping multiple statements in braces