3

我知道我可以进行选择并使用 ReSharper 操作菜单用大括号包围,或者使用众多“环绕...”键盘快捷键之一。

我正在寻找的是一种执行以下操作的方法(也就是最懒惰的方法):

  1. 选择一些代码
  2. 按 {
  3. 所选文本现在用大括号括起来。

这适用于例如 Xamarin Studio(用于 [,{,( 大括号)。

有没有办法在 Visual Studio 中实现这一点,无论是使用内置功能还是插件?

4

1 回答 1

2

您应该能够编写一个 resharper 插件来做到这一点。您可以通过调用为特定字符(例如“{”)注册打字辅助处理程序ITypingAssistManager.AddTypingHandler。您的处理程序应该查看文档是否有选择,并修改文档以在选择内容周围插入打开和关闭字符。

唯一的问题可能是优先级 - '{' 字符已经有 C# 文档的处理程序。添加另一个处理程序会将其添加到处理程序链的末尾,并且现有处理程序可能会首先加入。在这种情况下,您可以使用 注册自己ITextControlManager.AddTypingHandler,这就是这样TypingAssistManager做的,但它允许指定优先级,因此您可以在之前被调用TypingAssistManager

与以往一样,将 dotPeek 指向 ReSharper bin 文件夹并开始AddTypingHandler探索TypingAssistManager.

于 2013-11-13T13:47:35.990 回答