这个问题与ReSharper YouTrack问题有关。
在安装了ReSharper 7.1.1的Visual Studio 2010中,如果我进入工具>选项>环境>键盘,有一个命令叫做ReSharper_SilentCleanupCode。
我想将此命令绑定到工具栏按钮。
使用工具>自定义>命令似乎是不可能的,因为这个对话框中唯一可用的命令是针对已经有关联菜单项的操作。我感兴趣的ReSharper命令(Silent Code Cleanup)没有出现在任何菜单中,所以它不能被分配给使用"GUI"的工具栏按钮。
是否有其他方法将仅限键盘的命令绑定到工具栏按钮?(ReSharper的一个程序员认为可以使用"VS脚本编辑器",但是我没有找到任何关于这个的信息。)
编辑
我应该在一开始就提到这一点。虽然azhrei的宏解决方案非常适合Visual Studio 2010,但一旦我升级到VS 2012,它就会崩溃,因为不再支持宏。如果有人有一个可以在VS 2012中继续工作的解决方案,那将是更可取的。(或者也许VS 2012工具栏首先没有相同的限制?)
添加一个执行命令的宏,然后将该宏添加到工具栏。
这是有效的,因为它使仅键盘命令出现在自定义命令对话框的宏菜单中。
细节添加一个宏:
Sub _ReSharper_SilentCleanupCode()
DTE.ExecuteCommand("ReSharper_SilentCleanupCode")
End Sub
把这个宏放到Customize. Commands. AddCommand. Categories.中出现的模块中。宏,如Samples或MyMacros。RecordingModule,而不是MyMacros。Module1(使用宏IDE时的默认值)。
进入Tools..Customize..Command
,选择需要的Toolbar
。
现在Add Command...
,选择Macros
类别。
选择Macros.Samples._ReSharper_SilentCleanupCode
宏。
单击Modify Selection
并将名称更改为#-)
或任何文本使您认为ReSharper Silent Code Cleanup而不会对您的工具栏太长。: -)
我在Visual Studio 2010和ReSharper 7.1.2中尝试过。
编辑
Visual Commander显然也是在VS2012上实现这一功能的一种方式——更多信息请参见下面的评论。