VISIBILITY_SECTION-VISIBILITY_END
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
注意
メニューおよびコマンドの表示方法、VSPackage で定義するのにコマンド テーブル構成 (.ctc) ファイルではなく XML コマンド テーブル (.vsct) ファイルを使用 Visual Studio 2008 SDK から始まる、します。詳細については、「XML-Based Command Table Configuration (.vsct) Files」を参照してください。
The VISIBILITY_SECTION – VISIBILITY_END section determines the static visibility of commands and toolbars. 各エントリはコマンドまたは] メニューの [とが関連付けられているコマンド ユーザー インターフェイス (UI) コンテキストを指定します。 表示は最初、Visual Studio IDE によって、VSPackage をロードせず制御されます。
IDE は、VISIBILITY_SECTION-で定義された静的な表示ではなく、表示を確認するには、コマンドに依存して VSPackage が読み込まれたら、VISIBILITY_END セクション。 アンマネージ VSPackage の場合、実装 QueryStatus; マネージの VSPackage で BeforeQueryStatus イベントを処理します。
A command or menu listed in the VISIBILITY_SECTION – VISIBILITY_END section will appear only when the associated context is active. The VISIBILITY_SECTION – VISIBILITY_END section only applies to commands and menus, not to groups. 常コマンドおよびこのセクションに含まれませんメニューに表示されます、親メニューがアクティブなときにします。 コマンドまたはメニューの [が複数のコマンドの UI コンテキストに関連付けられてコマンドとコンテキスト組み合わせごとのエントリを。
表示項目
Each entry in the VISIBILITY_SECTION – VISIBILITY_END section contains two fields, separated by a comma and ending with a semicolon. 次に例を示します。
Item ID, Context ID;
次の表は、これらのフィールドです。 最後のフィールドは、セミコロンで終了します。 "The Visibility エントリ フィールド] を表示します。 詳細の各フィールドについては「に」以降。
フィールド |
説明 |
---|---|
Item ID |
コマンドまたはメニューを表示は処理に自動的に GUID:ID によって統合開発環境 (IDE) を識別する Visual Studio ペアを指定します。 |
Context ID |
GUID の項目を表示するには、コンテキストを識別します。 |
表示の使用例
The following is an example of how to specify visibility entries in the VISIBILITY_SECTION – VISIBILITY_END section. この例にはコマンドをソリューションが読み込まれ、デバッグ セッションが開始されるたびに、メニューが表示されたときに表示してはされます。
VISIBILITY_SECTION
// Item GUID when visible
guidMyCmdSet:cmdidMyMenuCommand, UICONTEXT_SolutionExists;
guidMyCmdSet:IDM_MY_DEBUGMENU , UICONTEXT_Debugging;
VISIBILITY_END
Visibility 入力フィールド
Each entry in the VISIBILITY_SECTION – VISIBILITY_END section has two fields separated by commas and ending with a semicolon. これらのフィールド、順は。
Item ID
Item ID フィールドには、または識別しますコマンド] メニューの [静的の可視性を制御します。
Commands must have the DEFAULT_INVISIBLE and DYNAMIC VISIBILITY flags set in order for entries in the VISIBILITY_SECTION – VISIBILITY_END section to take effect. メニューには常に、DYNAMIC_VISIBILITY フラグを既定の設定があります。 See the BUTTONS_BEGIN-BUTTONS_END section for more details on specifying commands.
Context ID
Context ID フィールドは、 Item ID フィールドに関連付けるには、UI コンテキスト識別します。 この UI コンテキストがアクティブなコマンドまたはメニューの [が行われます表示で、VSPackage の不必要なロードせず。
UI コンテキスト GUID を参照してください。 およびカスタムの GUID 詳細内容については、「」を Context ID フィールドに配置できます。
UI コンテキストの GUID
システムは一連には、アクティブまたは IDE の GUIDの現在状態に応じて非アクティブな UI コンテキスト Visual Studio s 保持します。 たとえば、ソリューションを構築するとき、UICONTEXT_SolutionBuilding コンテキストがアクティブです。 ビルドが停止と UICONTEXT_SolutionBuilding コンテキストがアクティブでない行われます。 複数の UI コンテキスト アクティブにできる同時にです。
次の UI コンテキスト GUID s デフォルトでは使用、コマンドのテーブルの構成ファイル (.ctc) で使用します。 これら GUIDs の定義は vsshell.h ヘッダー ファイルに.ctc ファイルに含めることができますで指定します。 このヘッダー ファイルは、Visual Studio SDK のインストール (たとえば、C:\Program Files Files\Visual Studio 9 SDK\2006.2\VisualStudioIntegration\common\inc) の VisualStudioIntegration\common\inc サブディレクトリにあります。
ユーザー設定の GUID
アクティブ化および、カスタム コンテキスト GUID によって識別するカスタム コンテキストの非アクティブ化が必要な VSPackage にカスタム コンテキスト IVsMonitorSelection の状態を制御するのに、 SVsShellMonitorSelection サービスで GUID インターフェイスを使用する必要があります。 カスタム コンテキスト GUID は可視性エントリで使用できます。
さらに、GUIDコレクションや、プロジェクト ToolWindowGuids80 も、言語サービス GUID など他のソースから GUID-s を使用できますがする必要があります追加する、 GUID の定義自分で.ctc ファイルで使用する前に。 たとえば、メニュー コマンドができるように、の場合は常に検索し、 ダイアログ ボックスが表示に置換、.ctc ファイルまたは.ctc ファイル (、 GUIDGUID ここ送信元を表示) に含まれている、適切なヘッダー ファイルで、次の FindReplace 定義を作成します。
#define guidFindReplace { 0xCF2DDC32, 0x8CAD, 0x11D2, { 0x93, 0x02, 0x00, 0x53, 0x45, 0x00, 0x00, 0x 00 } }
次のようなVISIBILITY_SECTION での定義を使用します。
VISIBILITY_SECTION
// Command GUID when visible
guidMyCmdSet:cmdidMyMenuCommand, guidFindReplace;
VISIBILITY_END