逐步解說: 將命令加入至 [方案總管] 工具列中 (C#)
本逐步解說會示範如何加入按鈕,在Visual Studio方案總管] 中工具列。
任何命令,不論是在工具列或功能表中,會被視為一個按鈕,藉由Visual Studio。 當按一下按鈕時,會執行命令處理常式中的程式碼。 一般而言,相關的命令會群組在一起組成一個群組。 功能表或工具列則會做為容器的群組。 優先順序會決定在功能表或工具列,在群組中的個別命令的顯示的順序。 您可以防止按鈕,使其無法顯示工具列或功能表上藉由控制它的可見性。 命令列的<VisibilityConstraints> .vsct 檔的區段只會出現在相關的內容。 可視性無法套用至群組中。
如需有關功能表、 工具列命令,以及.vsct 檔案的詳細資訊,請參閱命令、 功能表和工具列。
注意事項 |
---|
使用 XML 命令表裡 (.vsct) 檔案來取代資料表設定 (.ctc) 的指令檔來定義您的 VSPackages 中顯示功能表和命令的方式。如需詳細資訊,請參閱 Visual Studio 命令表裡 (。Vsct) 檔案。 |
必要條件
若要遵循本逐步解說中,您必須安裝Visual Studio SDK。
注意事項 |
---|
如需 Visual Studio SDK 的詳細資訊,請參閱擴充 Visual Studio 的概觀。若要了解如何下載Visual Studio SDK,請參閱Visual Studio 擴充性開發人員中心 MSDN 網站上。 |
Visual Studio 的封裝專案範本的位置
Visual Studio 的封裝的專案範本有三個位置都在新的專案對話方塊:
在 Visual Basic 擴充性。 專案的預設語言是 Visual Basic。
在 C# 擴充性。 專案的預設語言是 C#。
在其他專案類型擴充性。 專案的預設語言是 c + +。
建立 VSPackage 含有單一的功能表命令
本章節的逐步解說會示範如何使用Visual Studio套件] 專案範本來建立支援功能表命令的 VSPackage。
若要建立 SolutionToolbar VSPackage
建立名為 VSPackage SolutionToolbar。 如需詳細資訊,請參閱 逐步解說: 使用 Visual Studio 的封裝範本建立功能表命令。
程式語言設定為 [ 視覺 C#,請選取 功能表命令,命令名稱設定為 [ 工具列按鈕測試指令,而設定的命令 ID 為 cmdidTestCmd。
將按鈕加入至 [方案總管] 工具列
本章節的逐步解說會示範如何加入按鈕,在方案總管] 中工具列。 當按一下按鈕時,會執行回呼方法中的程式碼。
若要將按鈕加入至方案總管工具列
在方案總管] 中,連按兩下以開啟文字編輯器] 中的 SolutionToolbar.vsct。
在<Symbols> ] 區段中, <GuidSymbol> 名稱結尾為"CmdSet"的節點包含功能表群組並且由封裝範本產生的命令。 新增<IDSymbol>到宣告的群組會保留您的命令,這個節點的項目。
<IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
在<Groups> ] 區段中,在現有的群組項目之後定義您宣告新的群組在前一步驟。
<Group guid="guidSolutionToolbarCmdSet" id="SolutionToolbarGroup" priority="0xF000"> <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/> </Group>
設定為父代 guid:id 組guidSHLMainMenu和IDM_VS_TOOL_PROJWIN將此群組放在方案總管] 中 ] 工具列上,並將高優先順序值放在其他的命令群組之後。
在<Buttons>區段中,變更產生的父代 ID <Button>項目,以反映您在上一個步驟中定義的群組。 已修改<Button>項目應該類似下列的標記。
<Button guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" priority="0x0100" type="Button"> <Parent guid="guidSolutionToolbarCmdSet" id="SolutionToolbarGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <CommandName>cmdidTestCmd</CommandName> <ButtonText>Toolbar Button Test Command</ButtonText> </Strings> </Button>
建置方案,並檢查發生錯誤。
按 F5 以開啟Visual Studio實驗建置在第二個視窗中的。
方案總管] 中的工具列應顯示新的指令按鈕右邊的 [現有的按鈕。 按鈕圖示是正方形與數字 1。
按一下 [新增] 按鈕。
應該會顯示訊息,也就是"內 Microsoft.SolutionToolbar.SolutionToolbarPackage.MenuItemCallback() 」 的對話方塊。
控制按鈕可見
本章節的逐步解說會示範如何控制在工具列上的按鈕可見。 藉由設定內容中的一或多個專案<VisibilityConstraints>一節的 SolutionToolbar.vsct 檔案中,您可以限制出現只有當專案都開啟一個按鈕。
若要開啟一個或多個專案時,顯示一個按鈕
如果尚未關閉Visual Studio實驗建置,請立即關閉。
在<Buttons>一節的 SolutionToolbar.vsct,請將兩個命令旗標加入至現有的<Button>項目、 中間<Strings>和<Icons>標籤。
<CommandFlag>DefaultInvisible</CommandFlag> <CommandFlag>DynamicVisibility</CommandFlag>
DefaultInvisible 和 DynamicVisibility旗標必須設定操作中的項目<VisibilityConstraints>區段才會生效。
建立<VisibilityConstraints>區段具有兩個<VisibilityItem>項目。 結束後將新區段</Commands>標記。
<VisibilityConstraints> <VisibilityItem guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" context="UICONTEXT_SolutionHasSingleProject" /> <VisibilityItem guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" context="UICONTEXT_SolutionHasMultipleProjects" /> </VisibilityConstraints>
每個可見項目表示指定的按鈕會顯示在其下的條件。 若要套用多個條件,您必須建立多個項目相同的按鈕。
在 [建置] 功能表上,按一下 [重建方案]。 您必須重新建置方案,以查看變更的功能表。
按 F5 以開啟Visual Studio實驗建置。
方案總管] 中工具列不包含具有與數字 1] 按鈕。
開啟任何包含一個專案的方案或多個專案。
有數字 1] 按鈕出現在右邊的 [現有的按鈕工具列中。
在 [檔案] 功能表上,按一下 [關閉方案]。 工具列] 按鈕就會消失。
按鈕的可見性由Visual Studio VSPackage 載入之前。 在載入 VSPackage 之後,VSPackage 會控制按鈕可見。 如需詳細資訊,請參閱 How to: 建立和處理命令,在 VSPackages (C#)。