共用方式為


How to: 建立工具列的工具視窗

您可以藉由定義型別的功能表工具視窗加入工具列ToolWindowToolbar VSPackage.vsct 檔案,然後程式設計以顯示該套件中。

以下列方式,從一般的整合式的開發環境 (IDE) 中的工具列不同的工具視窗的工具列:

  • IDE 工具列可以建立只是藉由定義型別的功能表Toolbar .vsct 檔案中。 必須以程式設計的方式建立工具視窗工具列,在 [目標] 工具視窗。

  • 使用者可以藉由設定 IDE 工具列自訂對話方塊。 您無法以這種方式設定工具視窗工具列。

建立工具視窗工具列

工具視窗工具列的第一次定義是Menu 項目 .vsct 檔案中。

下列程序假設您已定義在.vsct 檔案中的工具視窗的 VSPackage 專案。 如果您要建立的 VSPackage 套件精靈] 中,選取 的工具視窗 .vsct 檔案加入封裝的專案,並定義工具視窗。

若要建立工具視窗工具列

  1. 在編輯器中開啟.vsct 檔案。

  2. 找到的構成方式的部份Symbols 項目

  3. 找出GuidSymbol 項目 ,包含您的功能表、 群組及指令。 預設情況下,它稱為 guid<ProjectName>CmdSet

  4. 新增IDSymbol 項目您的工具列,和一個群組來保留您的命令,如下列範例所示。

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    

    name屬性的GuidSymbolIDSymbol中定義的工具列、 指令或群組的項目提供一 GUID:ID 組,表示該工具列、 指令或群組。 GUID代表一組係專為您 VSPackage 的命令。 您可以封裝中定義多個命令集。 將 GUID:ID 組是用來識別每個項目必須是唯一的。

  5. 正上方區段由所構成的Groups 項目,藉由建立區段Menus 項目

  6. 定義為工具列Menu 項目Menus區段,如下所示:

    1. 設定guid和id屬性加入新的工具列上的 GUID:ID。

    2. 設定type屬性設定為 ToolWindowToolbar。

    3. Menu項目,使用Strings 項目建立的區段包含了ButtonText 項目CommandName 項目ButtonText項目用來在 IDE 中所顯示的樣子,設定工具列的名稱。 CommandName項目用來設定可以在中輸入命令名稱命令來存取工具列視窗。

    下列範例會定義工具視窗工具列。

    <Menu guid="guidTWToolbarCmdSet" id="TWToolbar" type="ToolWindowToolbar">
      <CommandFlag>DefaultDocked</CommandFlag>
      <Strings>
        <ButtonText>Test Toolbar</ButtonText>
        <CommandName>Test Toolbar</CommandName>
      </Strings>
    </Menu>
    
  7. Groups區段中,建立Group 項目到包含您想要顯示在工具列的命令。

    1. 設定要判定它會顯示在工具列上的群組優先權。

      具有較低的優先順序設定的群組會出現在左下方的工具列 (或上方,如何工具列的方向而定)。

    2. 設定工具列的 GUID:ID 群組的父代。

    下列群組會出現在前一個範例中定義的工具列上。

    <Group guid="guidTWToolbarCmdSet" id="TWToolbarGroup" priority="0x0000">
      <Parent guid="guidTWToolbarCmdSet" id="TWToolbar" />
    </Group>
    

在 [工具] 視窗中顯示工具列

使用管理套件架構 (MPF) 設計程式封裝,以顯示在 [工具] 視窗的工具列。

ToolBar屬性的ToolWindowPane類別讓CommandID執行個體當做它的值。 CommandID執行個體採用 (字串) Guid,以及 (int) id。 藉由設定這些檔案來 GUID:ID 一對工具列,工具列會繫結至工具視窗。 一般而言,這是衍生自該類別的建構函式在ToolWindowPane類別。

使用 MPF 來建置 managed 程式碼工具視窗可以有多個工具列。

若要在 [工具] 視窗中顯示工具列

  1. 當您使用 「 封裝精靈 」,Guid 會自動新增到命令集建立的 VSPackage GuidList Guids.cs 檔案中定義的類別。 產生的功能表和命令 Id 會加入至PkgCmdIDList PkgCmdID.cs 中所定義的類別。 然後,GUID 及識別碼的值可以存取,在可讀取的表單中,透過這兩個類別。

    開啟 [PkgCmdID.cs]。

  2. 新增一個項目 [工具] 視窗工具列中,以及任何您想要顯示在工具列上的命令。 每個項目的值必須符合value為相關聯的屬性IDSymbol項目。

    下列範例會建立先前定義的工具列項目。

    public const int TWToolbar = 0x1000;
    
  3. 開啟 [MyToolWindow.cs]。

  4. 在建構函式,將ToolBar屬性的MyToolWindow到新的類別CommandID執行個體的 Guid 及識別碼的工具列與做為參數,如下列範例所示。

    this.ToolBar = new CommandID(
        GuidList.guidTWToolbarCmdSet,
        PkgCmdIDList.TWToolbar);
    

    如果未定義的 GuidList 和 PkgCmdIDList 類別,您可以使用String的 GUID 值和Int ID 的值代替。

請參閱

工作

How to: 建立可重複使用的按鈕群組

逐步解說: 加入工具列至工具視窗

其他資源

Visual Studio 命令表裡 (。Vsct) 檔案

一般工作的命令、 功能表和工具列