给定visual studio命令,例如“Build.BuildSolution”,如何获取它的显示名称?
当调用命令时,我正在显示一个包含命令名称和快捷方式的窗口。这实际上是一个ReSharper插件,它可以很好地显示ReSharper命令 - 描述性文本,快捷方式和所有内容。我也收到调用VS命令的通知,我可以获得键盘快捷键,但我不知道如何获取它的显示名称。我得到VS命令名称,例如“Build.BuildSolution”。从这里我可以得到DTE的Command
对象,然后它也给我键盘快捷键绑定。但我找不到显示名称。
理想情况下,我想以与快速启动搜索框中显示的相同方式显示它,使用拥有菜单,如下所示:“构建→构建解决方案”。但是,这些信息似乎来自私有COM接口,我不知道如何通过可访问的VS接口获取此信息。
答案 0 :(得分:1)
自动化模型的EnvDTE.Command接口不提供Caption属性(疏忽)。
作为一种解决方法,您可以将命令添加到命令栏,以便获得可以强制转换为CommandBarButton的CommandBarControl,获取CommandBarButton.Caption属性并删除commandBarControl。如果您使用菜单的命令栏(而不是工具栏),用户将不会注意到按钮出现和消失。