visual-studio - 默认显示 Visual Studio 扩展工具栏

标签 visual-studio visual-studio-addins vsx visual-studio-extensions

在 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 Experimental hive 中启动我的扩展时,我可以通过右键单击命令栏区域来手动打开我的工具栏。

当我第一次运行扩展程序时,有什么方法可以让工具栏默认显示?

我尝试了其他几个 CommandFlags,但它们似乎没有执行此行为:
    <CommandFlag>AlwaysCreate</CommandFlag>
    <CommandFlag>DontCache</CommandFlag>   

最佳答案

您要查看的是可见性约束。下面的示例使用 GUID_TextEditorFactory 使其在文本编辑器处于事件状态时可见(并在例如设计器处于事件状态时隐藏)。

我不是 100% 确定正确的上下文是什么让它始终可见,但我的猜测是 UICONTEXT_NoSolution(或者可能是 GUID_VSStandardCommandSet97)。

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

关于visual-studio - 默认显示 Visual Studio 扩展工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035795/

相关文章:

c - While 循环运行一次

visual-studio-2010 - ReSharper 和 VSCommands 可以很好地协同工作吗?

c# - 一种在监 window 口中获取对象并将其设为 "Script"的方法

design-patterns - 开发 VSX 包或独立 Shell 包时最适合使用哪些模式?

visual-studio - 如何在 Visual Studio 之前处理按键?

asp.net - Visual Studio Publish 停留在为路径添加 ACL

visual-studio - Visual Studio Code 指标和 switch case 的可维护性指数

visual-studio - Visual Studio 2010 可扩展性入门 - 3 个问题

visual-studio - 避免将第 3 方 DLL 复制到调试文件夹中

c# - DebuggerEvents.OnEnterRunMode 事件在 Visual Studio 2012 中不起作用