是否有快捷方式用大括号括住给定的(选定的)代码块?
VS 2015 + R# 2016.1
为此,您不需要 Resharper。您可以将“surround with”与自定义代码片段一起使用。
然后您可以使用 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>{}</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>
作为 Patrick 答案的替代方案(Ctrl+E、U、7),您还可以使用 ReSharper 9+ 的扩展 Alt+Enter -菜单。
Alt+Enter、UP、UP、Enter 或
Alt+Enter,“bl”,Enter
不幸的是,我不知道如何将其绑定到更短的热键。
但是如果这对您来说真的很重要,您可以尝试AutoHotkey。
我能找到的 Visual Studio 方案中最快的内置快捷方式是 Ctrl+E+U,7(用...括起来,然后选择选项 7,即大括号)。
我在 Visual Studio 的键盘选项中没有看到它的快捷方式,因此这可能是您可以获得的最好的方法。
至少在 Visual Studio 2019 中,这是一个内置的可选功能,尽管它是:
要启用此功能,请选择工具->选项打开“选项”对话框。在显示选项组的左侧窗格中,展开 Text Editor 组,然后展开 C/C++ 子组,然后选择 Advanced 项。现在一直滚动到右侧窗格的底部,您将在Text Editor部分下看到以下选项:
|选项 |价值|
| ------ | ----- |
|启用带大括号的环绕|假|
|启用带括号的环绕 |假|
将这两个更改为“True”(假设您想要这两种行为),然后就可以开始了!
AlexandreG 的解决方案效果很好。从我的角度来看,我可以告诉您必须使用 .snippet 扩展名保存文件。第二个提示:如果您想将片段与系统片段一起保存,则必须将它们保存在此处:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC#\Snippets\1033\Visual C#
或从片段文件对话框复制位置
使用 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页面上找到更多带有模板的环绕声。
我使用的是VS2022 V17.6.5,在我看来,最好、最方便的解决方案是使用Auto Surround扩展。