默认显示一个Visual Studio扩展工具栏(Show a Visual Studio Exte

2019-06-25 11:57发布

在一个Visual Studio扩展,我在.vsct文件中定义的工具栏:

      <Menu guid="guidVsCmdSet" id="MyToolbar" type="Toolbar" >
        <CommandFlag>TextChanges</CommandFlag>
        <CommandFlag>DefaultDocked</CommandFlag>      
        <Strings>
          <ButtonText>My Tools/ButtonText>
        </Strings>
      </Menu>

当我启动我在Visual Studio实验蜂巢扩展,我可以手动打开工具栏我通过右键单击在命令栏区域。

有什么办法,默认情况下有工具栏显示出来,当我第一次运行的扩展?

我已经尝试了几个其他的commandflags,但他们似乎并没有执行此行为:

    <CommandFlag>AlwaysCreate</CommandFlag>
    <CommandFlag>DontCache</CommandFlag>   

Answer 1:

阅读关于如何做,在这种解决方法: LVN! 边栏#7 -显示在Visual Studio的启动工具栏



Answer 2:

你想看看什么是可见性约束。 下面的示例使用GUID_TextEditorFactory这使它可见,当一个文本编辑器处于活动状态(和隐藏,例如当一个设计师有效)。

我不是100%确定正确的上下文是什么使它总是可见的,但我的猜测是UICONTEXT_NoSolution(也许GUID_VSStandardCommandSet97)。

<CommandTable>
    <Commands.../>
    <VisibilityConstraints>
        <VisibilityItem guid="guidVsCmdSet" id="MyToolbar" context="GUID_TextEditorFactory" />
    </VisibilityConstraints>
</CommandTable>


文章来源: Show a Visual Studio Extension Toolbar by default