为仅作为键盘快捷键提供的命令添加Visual Studio工具栏按钮

时间:2013-03-13 19:34:04

标签: visual-studio-2010 visual-studio resharper resharper-7.1

此问题与此ReSharper YouTrack issue有关。

在安装了ReSharper 7.1.1的Visual Studio 2010中,如果我转到Tools>选项>环境>键盘,有一个名为ReSharper_SilentCleanupCode的命令。

我想将此命令绑定到工具栏按钮。

使用工具>这似乎是不可能的。自定义>命令,因为此对话框中可用的唯一命令适用于已具有关联菜单项的操作。我感兴趣的特定ReSharper命令(无声代码清理)没有出现在任何菜单中,因此无法使用“GUI”将其分配给工具栏按钮。

还有其他方法可以将仅键盘命令绑定到工具栏按钮吗? (ReSharper的程序员之一认为可以使用“VS脚本编辑器”,但我没有运气找到这方面的信息。)

修改

我本来应该首先提到这一点。虽然azhrei的宏解决方案非常适合Visual Studio 2010,但是一旦升级到VS 2012,它将会中断,因为不再支持宏。如果某人有一个可以继续在VS 2012中运行的解决方案,那将是更可取的。 (或者VS 2012工具栏首先没有相同的限制?)

1 个答案:

答案 0 :(得分:4)

添加执行命令的宏,然后将宏添加到工具栏。

这是有效的,因为使仅限键盘命令出现在“自定义命令”对话框的“宏”菜单中。

详情

添加一个执行此操作的宏:

    Sub _ReSharper_SilentCleanupCode()
        DTE.ExecuteCommand("ReSharper_SilentCleanupCode")
    End Sub

将此宏放在 Customize..Commands..AddCommand..Categories..Macros 中显示的模块中,例如 Samples MyMacros.RecordingModule ,但不是 MyMacros.Module1 (使用宏IDE时的默认设置)。

转到Tools..Customize..Command并选择您想要的Toolbar

现在Add Command...并选择Macros类别。

选择您的Macros.Samples._ReSharper_SilentCleanupCode宏。

点击Modify Selection并将名称更改为#-)或任何文字让您认为 ReSharper无声代码清理,而不会让您的工具栏太长。 : - )

我尝试使用Visual Studio 2010和ReSharper 7.1.2。

修改

Visual Commander显然也是让VS2012获得成功的方法 - 请参阅下面的评论以获取更多信息。