用花括号包围代码块?

Surround code block with curly braces?

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

VS 2015 + R# 2016.1

我能找到的Visual Studio方案中最快的内置快捷键是Ctrl+E+U, 7(用...包围,然后选择选项7,即大括号)。

我在 Visual Studio 的键盘选项中没有看到它的快捷方式,所以这可能是您能得到的最好的。

作为帕特里克回答的替代方案 (Ctrl+E, U, 7) 您还可以使用扩展的 Alt+Enter -ReSharper 9+ 的菜单。

Alt+Enter, UP, UP输入

Alt+回车,"bl",回车

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

但是如果这对你来说真的很重要,你可以试试AutoHotkey

将 visual studio 2017 与 resharper 2017 一起使用,看起来这样做的方法是点击 CTRL+E 和: Up,Up,Enter ,或开始输入快捷方式名称 (swb 将匹配 Surrond With block 并让你开心。

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

更新
这是 Resharper 的一部分。我正在使用 2017.1.1 终极版。您可以在 live templates.

的页面上找到更多带有模板的环绕声

您不需要为此使用 Resharper。您可以将 "surround with" 与自定义代码段一起使用。

然后您可以使用 Ctrl + K、Ctrl + S 和 select 自定义代码段中的代码段 {} select 您的文本。为了创建这样的片段:

  1. 创建包含以下内容的“.snippet”文件
  2. 转到代码片段管理器(工具 > 代码片段管理器)
  3. 单击导入并select您刚刚创建的文件

使用以下代码段:

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

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

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

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

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