12

我想将该ReSharper_ToggleSuspended命令映射到 VS 2012 中工具栏上的按钮,但该命令未列在自定义 > 命令对话框中可用命令的 ReSharper 类别中。

有没有办法做到这一点?

4

2 回答 2

27

借用关于此问题的 R# 问题跟踪器的建议。

在 VS 包管理器控制台中,您可以运行这些命令以将ReSharper_ToggleSuspended命令添加到名为“R#”的现有工具栏。

$cmdBarName = "R#"
$cmdName = "ReSharper_ToggleSuspended"
$cmdText = "R# Active"
$toolbarType = [EnvDTE.vsCommandBarType]::vsCommandBarTypeToolbar

#----If you have a command bar you want to use---
#$cmdBar =  $dte.CommandBars.Item($cmdBarName)
# - or you can create one -
$cmdBar = $dte.Commands.AddCommandBar($cmdBarName, $toolbarType)
#------

$cmdItem = $dte.Commands.Item($cmdName).AddControl($cmdBar, 1)
$cmdItem.Caption = $cmdText

在此处输入图像描述

您可以使用任何现有的工具栏,或从头开始创建一个。我最初使用 UI 添加了一个新工具栏,但更新了它以包括如何创建一个工具栏,以及更新按钮文本以使用 $cmdText。

如果您有兴趣,Rick Strahl在命令栏上有一篇不错的文章。

于 2017-01-22T14:57:55.763 回答
2

我认为该命令与-> -> ->Resharper_ToggleSuspended下的“暂停”按钮有关。似乎您不能将“选项”对话框中的项目作为命令。可能您唯一的选择是为其分配键盘快捷键。ToolsOptions...ResharperGeneral

于 2013-09-27T14:51:22.760 回答