共用方式為


逐步解說: 將命令加入至 [方案總管] 工具列中 (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

  1. 建立名為 VSPackage SolutionToolbar。 如需詳細資訊,請參閱 逐步解說: 使用 Visual Studio 的封裝範本建立功能表命令

  2. 程式語言設定為 [ 視覺 C#,請選取 功能表命令,命令名稱設定為 [ 工具列按鈕測試指令,而設定的命令 ID 為 cmdidTestCmd。

將按鈕加入至 [方案總管] 工具列

本章節的逐步解說會示範如何加入按鈕,在方案總管] 中工具列。 當按一下按鈕時,會執行回呼方法中的程式碼。

若要將按鈕加入至方案總管工具列

  1. 方案總管] 中,連按兩下以開啟文字編輯器] 中的 SolutionToolbar.vsct。

  2. 在<Symbols> ] 區段中, <GuidSymbol> 名稱結尾為"CmdSet"的節點包含功能表群組並且由封裝範本產生的命令。 新增<IDSymbol>到宣告的群組會保留您的命令,這個節點的項目。

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
    
  3. 在<Groups> ] 區段中,在現有的群組項目之後定義您宣告新的群組在前一步驟。

    <Group guid="guidSolutionToolbarCmdSet"
           id="SolutionToolbarGroup" priority="0xF000">
      <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/>
    </Group>
    

    設定為父代 guid:id 組guidSHLMainMenu和IDM_VS_TOOL_PROJWIN將此群組放在方案總管] 中 ] 工具列上,並將高優先順序值放在其他的命令群組之後。

  4. 在<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>
    
  5. 建置方案,並檢查發生錯誤。

  6. 按 F5 以開啟Visual Studio實驗建置在第二個視窗中的。

    方案總管] 中的工具列應顯示新的指令按鈕右邊的 [現有的按鈕。 按鈕圖示是正方形與數字 1。

  7. 按一下 [新增] 按鈕。

    應該會顯示訊息,也就是"內 Microsoft.SolutionToolbar.SolutionToolbarPackage.MenuItemCallback() 」 的對話方塊。

控制按鈕可見

本章節的逐步解說會示範如何控制在工具列上的按鈕可見。 藉由設定內容中的一或多個專案<VisibilityConstraints>一節的 SolutionToolbar.vsct 檔案中,您可以限制出現只有當專案都開啟一個按鈕。

若要開啟一個或多個專案時,顯示一個按鈕

  1. 如果尚未關閉Visual Studio實驗建置,請立即關閉。

  2. 在<Buttons>一節的 SolutionToolbar.vsct,請將兩個命令旗標加入至現有的<Button>項目、 中間<Strings>和<Icons>標籤。

    <CommandFlag>DefaultInvisible</CommandFlag>
    <CommandFlag>DynamicVisibility</CommandFlag>
    

    DefaultInvisible 和 DynamicVisibility旗標必須設定操作中的項目<VisibilityConstraints>區段才會生效。

  3. 建立<VisibilityConstraints>區段具有兩個<VisibilityItem>項目。 結束後將新區段</Commands>標記。

    <VisibilityConstraints>
      <VisibilityItem guid="guidSolutionToolbarCmdSet"
            id="cmdidTestCmd"
            context="UICONTEXT_SolutionHasSingleProject" />
      <VisibilityItem guid="guidSolutionToolbarCmdSet"
            id="cmdidTestCmd"
            context="UICONTEXT_SolutionHasMultipleProjects" />
    </VisibilityConstraints>
    

    每個可見項目表示指定的按鈕會顯示在其下的條件。 若要套用多個條件,您必須建立多個項目相同的按鈕。

  4. 在 [建置] 功能表上,按一下 [重建方案]。 您必須重新建置方案,以查看變更的功能表。

  5. 按 F5 以開啟Visual Studio實驗建置。

    方案總管] 中工具列不包含具有與數字 1] 按鈕。

  6. 開啟任何包含一個專案的方案或多個專案。

    有數字 1] 按鈕出現在右邊的 [現有的按鈕工具列中。

  7. 在 [檔案] 功能表上,按一下 [關閉方案]。 工具列] 按鈕就會消失。

按鈕的可見性由Visual Studio VSPackage 載入之前。 在載入 VSPackage 之後,VSPackage 會控制按鈕可見。 如需詳細資訊,請參閱 How to: 建立和處理命令,在 VSPackages (C#)

請參閱

其他資源

命令、 功能表和工具列

命令、 功能表和工具列的逐步解說