我知道我可以进行选择并使用 ReSharper 操作菜单用大括号包围,或者使用众多“环绕...”键盘快捷键之一。
我正在寻找的是一种执行以下操作的方法(也就是最懒惰的方法):
- 选择一些代码
- 按 {
- 所选文本现在用大括号括起来。
这适用于例如 Xamarin Studio(用于 [,{,( 大括号)。
有没有办法在 Visual Studio 中实现这一点,无论是使用内置功能还是插件?
我知道我可以进行选择并使用 ReSharper 操作菜单用大括号包围,或者使用众多“环绕...”键盘快捷键之一。
我正在寻找的是一种执行以下操作的方法(也就是最懒惰的方法):
这适用于例如 Xamarin Studio(用于 [,{,( 大括号)。
有没有办法在 Visual Studio 中实现这一点,无论是使用内置功能还是插件?
您应该能够编写一个 resharper 插件来做到这一点。您可以通过调用为特定字符(例如“{”)注册打字辅助处理程序ITypingAssistManager.AddTypingHandler
。您的处理程序应该查看文档是否有选择,并修改文档以在选择内容周围插入打开和关闭字符。
唯一的问题可能是优先级 - '{' 字符已经有 C# 文档的处理程序。添加另一个处理程序会将其添加到处理程序链的末尾,并且现有处理程序可能会首先加入。在这种情况下,您可以使用 注册自己ITextControlManager.AddTypingHandler
,这就是这样TypingAssistManager
做的,但它允许指定优先级,因此您可以在之前被调用TypingAssistManager
。
与以往一样,将 dotPeek 指向 ReSharper bin 文件夹并开始AddTypingHandler
探索TypingAssistManager
.