コマンド、メニュー、およびツール バー

メニューとツールバーは、ユーザーが VSPackage 内のコマンドにアクセスする方法です。 コマンドは、ドキュメントの印刷、ビューの更新、ファイルの新規作成などのタスクを実行する関数です。 メニューとツール バーは、ユーザーにコマンドをグラフィカルに表示する便利な方法です。 通常、関連するコマンドは、同じメニューやツール バーにまとめられます。

  • メニューは通常、統合開発環境 (IDE) やツール ウィンドウの上部にある列にまとめられた 1 語の文字列として表示されます。 メニューは、右クリック イベントの結果として表示することもでき、これはそのコンテキストのショートカット メニューと呼ばれます。 クリックすると、メニューが展開して 1 つ以上のコマンドが表示されます。 コマンドをクリックすると、タスクを実行したり、追加のコマンドを含むサブメニューを起動したりすることができます。 よく知られているメニュー名には、[ファイル][編集][表示][ウィンドウ] などがあります。 詳細については、「メニューとコマンドの拡張」を参照してください。

  • ツール バーは通常、ボタンと他のコントロール (コンボ ボックス、リスト ボックス、テキスト ボックス、メニュー コント ローラーなど) の行です。 すべてのツール バー コントロールは、コマンドに関連付けられます。 ツール バー ボタンをクリックすると、関連付けられているコマンドがアクティブ化されます。 ツール バー ボタンには、通常、[印刷] コマンド用のプリンターなどの基になるコマンドを示すアイコンがあります。 ドロップダウン リスト コントロールでは、リスト内の各項目は、異なるコマンドに関連付けられています。 メニュー コントローラーは、コントロールの一方の側がツール バー ボタン、もう一方の側が、クリックして追加のコマンドを表示する下矢印の組み合わせです。 詳細については、「ツール バーにメニューコントローラーを追加する」を参照してください。

  • コマンドを作成するときは、コマンド用のイベント ハンドラーも作成する必要があります。 イベント ハンドラーでは、コマンドをいつ表示または有効にするかを決定し、コマンドのテキストを変更し、アクティブ化したときにコマンドが適切に応答する (「ルーティングする」) ようにすることができます。 ほとんどの場合、IDE では IOleCommandTarget インターフェイスを使用してコマンドを処理します。 Visual Studio ではコマンドは階層形式でルーティングし、ローカルの選択に基づいて最も内側のコマンド コンテキストから開始し、グローバルの選択に基づいて最も外側のコンテキストに進みます。 メイン メニューに追加したコマンドは、すぐにスクリプトに利用できます。 詳細については、「Menucommands と OleMenuCommands に比較」および「選択コンテキスト オブジェクト」を参照してください。

    新しいメニューやツール バーを定義するには、それらを Visual Studio コマンド テーブル (.vsct) ファイルで記述する必要があります。 Visual Studio パッケージ テンプレートでは、このファイルが、テンプレートで選択したすべてのコマンド、ツール バー、エディターをサポートするために必要な要素と共に作成されます。 または、「VSCT XML スキーマ リファレンス」で説明されている XML スキーマを使用して、独自の .vsct ファイルを作成することもできます。

    .vsct ファイルの操作の詳細については、「Visual Studio コマンド テーブル (.vsct) ファイル」を参照してください。

    このセクションのトピックでは、VSPackage でのコマンド、メニュー、およびツールバーの動作について説明します。

このセクションの内容

コマンド テーブル形式の仕様の詳細な説明。

コマンド テーブルの XML ベースの構文とコンパイラについて説明します。

定義済みのコマンド、グループ、メニュー、およびツールバーについて説明します。

Visual Studio IDE で使用できる定義済みのメニュー、コマンド、およびコマンド グループを指定します。

コマンドの設計方法について説明します。

コマンドに関するガイドラインを示します。

Visual Studio でコマンドを使用できるようにする方法について説明します。

相互運用機能アセンブリを使用するコマンドを実装する方法について説明します。

VSPackage のコマンド ルーティングを説明します。