次の方法で共有


ツール ウィンドウにツール バーを追加する

このチュートリアルでは、ツール ウィンドウにツール バーを追加する方法について説明します。

ツール バーとは、コマンドにバインドされたボタンを含む、水平または垂直のストリップです。 ツール ウィンドウのツール バーの長さは、ツール バーがドッキングされている場所に応じて、ツール ウィンドウの幅または高さと常に同じになります。

IDE のツール バーとは異なり、ツール ウィンドウのツール バーはドッキングされている必要があり、移動することもカスタマイズすることもできません。 VSPackage が アンマネージド コードで記述されている場合は、このツール バーをどの端にもドッキングできます。

ツール バーを追加する方法の詳細については、「ツール バーの追加」をご覧ください。

ツール ウィンドウのツール バーを作成する

  1. TWTestCommand という名前のメニュー コマンドと TestToolWindow という名前のツール ウィンドウの両方を含む、TWToolbar という名前の VSIX プロジェクトを作成します。 詳細については、「メニュー コマンドを使用して拡張機能を作成する」および「ツール ウィンドウで拡張機能を作成する」をご覧ください。 ツール ウィンドウ テンプレートを追加する前に、コマンド項目テンプレートを追加する必要があります。

  2. TWTestCommandPackage.vsct で、Symbols セクションを探します。 guidTWTestCommandPackageCmdSet という名前の GuidSymbol ノードで、次のようにツール バーとツール バー グループを宣言します。

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    
  3. Commands セクションの最上部に、Menus セクションを作成します。 Menu 要素を追加して、ツール バーを定義します。

    <Menus>
        <Menu guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" type="ToolWindowToolbar">
            <CommandFlag>DefaultDocked</CommandFlag>
            <Strings>
                <ButtonText>Test Toolbar</ButtonText>
                <CommandName>Test Toolbar</CommandName>
            </Strings>
        </Menu>
    </Menus>
    

    ツール バーは、サブメニューのように入れ子にすることはできません。 したがって、親を割り当てる必要はありません。 また、ユーザーはツール バーを移動できるため、優先度を設定する必要もありません。 通常、ツール バーの最初の配置はプログラムによって定義されますが、ユーザーによるその後の変更は保持されます。

  4. Groups セクションで、ツール バーのコマンドを格納するグループを定義します。

    
    <Group guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" priority="0x0000">
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" />
    </Group>
    
  5. Buttons セクションで、既存の Button 要素の親をそのツール バー グループに変更して、ツール バーが表示されるようにします。

    <Button guid="guidTWTestCommandPackageCmdSet" id="TWTestCommandId" priority="0x0100" type="Button">
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
            <ButtonText>Invoke TWTestCommand</ButtonText>
        </Strings>
    </Button>
    

    既定では、ツール バーにコマンドがない場合、ツール バーは表示されません。

    ツール ウィンドウに新しいツール バーが自動的に追加されることはないため、ツール バーは明示的に追加する必要があります。 これについては、次のセクションで説明します。

ツール ウィンドウにツール バーを追加する

  1. TWTestCommandPackageGuids.cs に、次の行を追加します。

    public const string guidTWTestCommandPackageCmdSet = "00000000-0000-0000-0000-0000";  // get the GUID from the .vsct file
    public const int TWToolbar = 0x1000;
    
  2. TestToolWindow.cs に、次の using ステートメントを追加します。

    using System.ComponentModel.Design;
    
  3. TestToolWindow コンストラクターに、次の行を追加します。

    this.ToolBar = new CommandID(new Guid(TWTestCommandPackageGuids.guidTWTestCommandPackageCmdSet), TWTestCommandPackageGuids.TWToolbar);
    

ツール ウィンドウのツールバーをテストする

  1. プロジェクトをビルドし、デバッグを開始します。 Visual Studio の実験用インスタンスが表示されます。

  2. [表示] メニューの [その他のウィンドウ] で、[ToolWindow のテスト] をクリックしてツール ウィンドウを表示します。

    ツール ウィンドウの左上の、タイトルのすぐ下にツール バー (既定のアイコンのように見える) が表示されます。

  3. ツール バーで、そのアイコンをクリックすると、TWTestCommandPackage Inside TWToolbar.TWTestCommand.MenuItemCallback() というメッセージが表示されます。