带花括号的环绕声代码块?

时间:2016-05-04 13:24:06

标签: visual-studio visual-studio-2015 resharper resharper-2016

是否有用花括号包围给定(选定)代码块的快捷方式?

VS 2015 + R#2016.1

6 个答案:

答案 0 :(得分:12)

我能找到的Visual Studio方案中最快的内置快捷方式是 Ctrl + E + U 7 < / kbd>(用...环绕,然后选择选项7,它是花括号)。

我在Visual Studio的键盘选项中没有看到它的快捷方式,因此这可能是您获得的最佳选择。

答案 1 :(得分:9)

作为Patrick的答案的替代方案( Ctrl + E U 7 )你也可以使用ReSharper 9 +的扩展 Alt + Enter -menu。

Alt + 输入 UP UP 输入或< / p>

Alt + 输入,&#34; bl&#34;,输入

Screen

不幸的是,我不知道如何将其绑定到更短的热键上。

但如果这对您非常重要,您可以尝试AutoHotkey

答案 2 :(得分:8)

您不需要此工具。您可以在自定义代码段中使用“环绕”。

然后,您可以使用Ctrl + K,Ctrl + S选择文本,然后在自定义代码段中选择代码段{}。为了创建这样的代码段:

  1. 创建一个包含以下内容的“ .snippet”文件
  2. 转到代码段管理器(工具>代码段管理器)
  3. 点击导入,然后选择您刚刚创建的文件

使用以下代码段:

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

答案 3 :(得分:1)

使用2017年的resharper视觉工作室,看起来这样做的方法是点击 CTRL + E 并且: Up 向上输入,或者开始输入快捷方式名称(swb将与Surrond With block匹配,让您满意。

我不是100%确定这是VS还是RS,因为 CTRL + E 是VS 2017.
从好的方面来说,一旦你点击 CTRL + E 组合,就可以轻松搜索快捷方式并找到新的宝石。

<强>更新
这是Resharper的一部分。我正在使用2017.1.1终极版。您可以在live templates的页面上找到更多带有模板的环绕声。

答案 4 :(得分:1)

至少在 Visual Studio 2019 中,这是一个内置的可选功能,尽管它是:

  1. 默认禁用
  2. 深埋在选项中

要启用此功能,请选择工具->选项以打开“选项”对话框。在显示选项组的左侧窗格中,展开 Text Editor 组,然后展开 C/C++ 子组,然后选择 Advanced< /em> 项目。现在一直滚动到右侧窗格的底部,您将在 Text Editor 部分下看到以下选项:
|选项 |价值|
| ------ | ----- |
|启用带大括号的环绕 |假的|
|启用带括号的环绕 |假的|
将这两个都更改为“True”(假设您想要这两种行为),您就可以开始了!

答案 5 :(得分:0)

AlexandreG 的解决方案非常有效。在我看来,我可以告诉您必须使用 .snippet 扩展名保存文件。第二个提示:如果要将代码段与系统代码段一起保存,则必须将它们保存在此处:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC#\Snippets\1033\Visual C# 或从代码段文件对话框复制位置