我总是发现自己需要在花括号 {} 中包含一段代码,但不幸的是,这不包含在C#环绕声代码片段中,这似乎是一种疏忽。我也找不到任何建立你自己的环绕片段的东西(只是其他类型的片段)。
我实际上也在运行Resharper,但它似乎也没有这个功能(或者我还没想过如何激活它)。
我们有一个编码标准,在 if 或 else 的花括号中包含甚至一行代码,所以如果我能只需让Resharper自动进行重构就会更好!
答案 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中,花括号作为内置的“环绕模板”之一包含在内:
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”之后的一行,则可能无法正常工作。
注意:我安装了DexExpress,但是即使它没有加载,这个菜单就在那里,我发誓即使它没有安装也就在那里。但是,如果我错了......
老实说,这似乎最好是问一个r#for,一个用户贡献?
答案 7 :(得分:0)
您可以使用大括号包装代码块
我知道这是一个老问题,但我希望它有助于某人