メニューとツール バーは、ユーザーが VSPackage のコマンドにアクセスする方法です。 コマンドは、ドキュメントの印刷、ビューの更新、新しいファイルの作成などのタスクを実行する関数です。 メニューとツールバーは、ユーザーにコマンドを表示するための便利なグラフィカルな方法です。 通常、関連するコマンドは、同じメニューまたはツール バーにまとめてクラスター化されます。
通常、メニューは、統合開発環境 (IDE) またはツール ウィンドウの上部にある行に 1 単語の文字列として表示されます。 メニューは、右クリック イベントの結果として表示することもでき、そのコンテキストではショートカット メニューと呼ばれます。 クリックすると、メニューが展開され、1 つ以上のコマンドが表示されます。 コマンドをクリックすると、タスクを実行したり、追加のコマンドを含むサブメニューを起動したりできます。 よく知られているメニュー名には、 ファイル、 編集、 表示、 ウィンドウがあります。 詳細については、「 メニューとコマンドの拡張」を参照してください。
ツール バーは通常、ボタンの行とその他のコントロール (コンボ ボックス、リスト ボックス、テキスト ボックス、メニュー コントローラーなど) です。 すべてのツール バー コントロールはコマンドに関連付けられています。 ツール バー ボタンをクリックすると、関連付けられているコマンドがアクティブになります。 ツール バー ボタンには、通常、印刷コマンドのプリンターなど、基になるコマンドを示すアイコンがあります。 ドロップダウン リスト コントロールでは、リスト内の各項目が別のコマンドに関連付けられます。 メニュー コントローラーは、コントロールの一方の側がツール バー ボタンで、もう一方がクリックされたときに追加のコマンドを表示する下矢印であるハイブリッドです。 詳細については、「 メニュー コントローラーをツール バーに追加する」を参照してください。
コマンドを作成するときは、そのコマンドのイベント ハンドラーも作成する必要があります。 イベント ハンドラーは、コマンドが表示または有効になっているタイミングを決定し、そのテキストを変更し、アクティブ化されたときにコマンドが適切に応答 ("ルート") するようにします。 ほとんどの場合、IDE は IOleCommandTarget インターフェイスを使用してコマンドを処理します。 Visual Studio のコマンドは、ローカル選択に基づいて最も内側のコマンド コンテキストから始まり、グローバル選択に基づいて最も外側のコンテキストに進む、階層的な方法でルーティングされます。 メイン メニューに追加されたコマンドは、スクリプトにすぐに使用できます。 詳細については、「 MenuCommands と OleMenuCommands および Selection コンテキスト オブジェクト」を参照してください。
新しいメニューとツール バーを定義するには、Visual Studio コマンド テーブル (.vsct) ファイルでそれらを記述する必要があります。 Visual Studio パッケージ テンプレートでは、このファイルと、テンプレートで選択したコマンド、ツール バー、エディターをサポートするために必要な要素が自動的に作成されます。 または、次で説明する XML スキーマを使用して、独自の .vsct ファイルを記述することもできます: VSCT XML スキーマ リファレンス。
.vsct ファイルの操作の詳細については、Visual Studio コマンド テーブル (.vsct) ファイルを参照してください。
このセクションのトピックでは、VSPackage でのコマンド、メニュー、ツール バーの動作について説明します。
このセクションでは...
コマンド テーブル形式の仕様の詳細な説明。
コマンド テーブルの XML ベースの構文とコンパイラについて説明します。
定義済みのコマンド、グループ、メニュー、ツール バーについて説明します。
Visual Studio IDE で使用できる定義済みのメニュー、コマンド、およびコマンド グループを指定します。
コマンドを設計する方法について説明します。
コマンドのガイドラインを示します。
Visual Studio でコマンドを使用できるようにする方法について説明します。
相互運用機能アセンブリを使用するコマンドを実装する方法について説明します。
関連セクション
VSPackage でのコマンド ルーティングについて説明します。