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

D.R*_*.R. 15 resharper visual-studio visual-studio-2015 resharper-2016

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

VS 2015 + R#2016.1

Ale*_*reG 20

你不需要Resharper.您可以将"环绕声"与自定义代码段一起使用.

然后,您可以使用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>
Run Code Online (Sandbox Code Playgroud)

  • 剪切代码添加一个“{”会更快,它会自动创建右括号然后粘贴它。+1因为这个解决方案有效,但我正在使用我的旧技术,将其复制并粘贴到大括号内。 (3认同)
  • **AlexanderG** 的解决方案很棒,但您必须将代码片段放入“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC#\Snippets\1033\Visual C#”中,如 * 所写*baobab159** 下面。如果你把它放在VS建议的标准位置(“我的代码片段”),那么它将没有用,因为你无法使用快速快捷键 - **CTRL + K + S + {} 和 TAB** 之后。(在其他情况下,您必须首先通过鼠标选择代码片段“我的代码片段”的目录,然后选择代码片段自身,这是糟糕的设计,并且破坏了使用快捷方式的想法) (2认同)

Pat*_*irk 12

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

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

  • Visual Studio 2017似乎没有带菜单的环绕声中的花括号选项. (4认同)
  • 底部的“文本编辑器”分组下的“ C / C ++”&gt;“高级选项”下有一个选项。但这似乎并不影响C#编辑器。 (2认同)

ulr*_*chb 10

作为一个以帕特里克的答案替代(Ctrl+ E,U,7)你也可以使用扩展Alt+ EnterReSharper的9+的-菜单.

Alt+ Enter,UP,UP,Enter,或

Alt+ Enter,"bl",Enter

屏幕

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

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


小智 8

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

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

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

  • 这些选项似乎不适用于 C# 文本编辑器。 (13认同)