默認

2

顯示一個Visual Studio擴展工具欄在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實驗蜂巢擴展,我可以打開我的工具欄通過右鍵單擊CommandBar區域手動。

當我第一次運行擴展時,有沒有什麼辦法讓工具欄默認顯示?

我已經嘗試了幾個其他的commandflags,但他們似乎並沒有執行此行爲:

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

回答

1

閱讀有關如何做,在這種解決方法:LVN! Sidebar #7 - Showing a toolbar at Visual Studio startup

+0

感謝您的鏈接。這實際上是我最終做的,通過使用DTE來命令查找和顯示我的工具欄。我做的唯一的改變是跟蹤我的工具欄第一次顯示,然後堅持一個布爾值表示我已經這樣做了。這樣,每次打開Visual Studio時都不會打開工具欄(在用戶決定禁用/隱藏工具欄的情況下)。 –

1

你想看看什麼是可見性約束。下面的例子使用GUID_TextEditorFactory,它使得文本編輯器處於活動狀態時可見(當設計器處於活動狀態時隱藏)。

我不是100%確定正確的上下文是什麼使其始終可見,但我的猜測是UICONTEXT_NoSolution(或者GUID_VSStandardCommandSet97)。

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

作品般的魅力!有關上下文的一些詳細信息,請參閱[此鏈接]中的「使用可見性上下文」部分(http://dotneteers.net/blogs/divedeeper/archive/2008/04/17/LearnVSXNowPart18A.aspx)。 –

+0

UICONTEXT_NoSolution僅在啓動時顯示。如果沒有解決方案。我可以添加UICONTEXT_EmptySolution,UICONTEXT_SolutionHasMultipleProjects和UICONTEXT_SolutionHasSingleProject ....是否有可能只有一個選項自動加載並始終顯示?像VS中的標準工具欄? –