共用方式為


Menu 項目

定義一個功能表項目。 這些是功能表的六種: 內容、 功能表、 MenuController、 MenuControllerLatched、 工具列及 ToolWindowToolbar。

<Menu guid=”guidMyCommandSet” id=”MyCommand” priority=”0x100” type=”button”>
  <Parent>... </Parent>
  <CommandFlag>... </CommandFlag>
  <Strings>... </Strings>
</Menu>

屬性和項目

下列章節會說明屬性、子項目和父項目。

屬性

屬性

描述

guid

必要項。 GUID /ID 命令識別項的 GUID。

id

必要項。 GUID /ID 命令識別項的識別碼。

priority

選擇項。 數值,指定一組功能表中的功能表中的相對位置。

ToolbarPriorityInBand

選擇項。 數值,視窗會停駐時,工具列的相對位置指定條紋。

type

選擇項。 指定的項目類型的列舉的值。

如果不存在,則預設型別會是功能表。

內容

使用者何時按一下滑鼠右鍵] 視窗會顯示快顯功能表。 快顯功能表具有下列特性:

  • 要為快顯功能表顯示功能表時,不使用 [上層] 和 [優先權] 欄位。

  • 可當做子功能表,也為快顯功能表。 在此情況下,遵守群組 ID] 和 [優先順序] 欄位。

  • 並非永遠可用。

只有當下列情況皆成立時,會顯示快顯功能表:

  • 主控視窗隨即出現。

  • 滑鼠處理常式,在 VSPackage 中的偵測到視窗上的按一下滑鼠右鍵,然後呼叫的方法,以處理命令。

  • 快顯功能表會顯示藉由呼叫ShowContextMenu方法 (建議的方式) 或ShowContextMenu方法。

Menu

提供 [下拉功能表。 下拉功能表具有下列特性:

  • 會檢查它的定義中的父系。

  • 必須有父群組或一組的 CommandPlacement。

  • 可以是功能表的任何其他種類中的子功能表。

  • 自動開啟檔案時其父功能表隨即出現。

  • 不需要任何的 VSPackage 程式碼,才能讓它顯示的實作。

MenuController

提供的分割按鈕下拉功能表,通常用於在工具列中。 MenuController 功能表則有下列特性:

  • 必須包含在另一個功能表,透過父代或 CommandPlacement。

  • 會檢查它的定義中的父系。

  • 可以有任何一種功能表做為其父系。

  • 會自動更新可用時其父功能表隨即出現。

  • 不需要程式設計的支援,以使顯示的功能表。

分割按鈕功能表命令會顯示在 [功能表] 按鈕。 [顯示] 指令有一個下列特性:

  • 它是最後一個指令如果仍然顯示,而且啟用命令所使用。

  • 它是第一個顯示的命令。

MenuControllerLatched

提供的分割按鈕下拉功能表的命令可以作為預設選項來指定標記] 指令,如為鎖存。

鎖存的命令是通常是藉由顯示核取記號標示為已選取,功能表中的命令。 可以標記] 指令,如為鎖存有 OLECMDF_LATCHED 的實作在其上設定的旗標QueryStatus方法的IOleCommandTarget介面。 MenuControllerLatched 功能表則有下列特性:

  • 必須包含在另一個功能表,透過父群組或 CommandPlacement。

  • 會檢查它的定義中的父系。

  • 可以有任何一種功能表做為其父系。

  • 可顯示其父功能表時。

  • 不需要程式設計的支援,以使顯示的功能表。

分割按鈕功能表命令會顯示在 [功能表] 按鈕。 [顯示] 指令有一個下列特性:

  • 它是第一個顯示的命令,則為鎖存。

  • 它是第一個顯示的命令。

Toolbar

提供工具列。 工具列上有下列特性:

  • 會忽略其定義中的父系。

  • 無法建立子功能表的任何群組中,甚至是藉由使用 CommandPlacement。

  • 一定要顯示的 [ 工具列檢視功能表。

  • 可以藉由顯示VisibilityItem。

  • 不需要任何程式碼,來建立它。 如需有關如何建立工具列範例,請參閱逐步解說: 對 IDE 加入工具列

ToolWindowToolbar

就像工具列附加到開發環境,提供附加至特定的工具視窗中,工具列。

  • 會忽略其定義中的父系。

  • 無法建立子功能表的任何群組中,甚至是藉由使用 CommandPlacement。

  • 僅當裝載 (host)] 工具列的 [工具] 視窗隨即出現,並 VSPackage 明確地加入至 [工具] 視窗工具列時,才會顯示。 尤其是當 [工具] 視窗由取得的 [工具列] 主應用程式屬性 (如由IVsToolWindowToolbarHost介面) 的工具視窗框架,然後呼叫AddToolbar方法。

條件

選擇項。 請參閱 VSCT XML 結構描述條件式屬性

子項目

項目

描述

Parent

選擇項。 功能表項目的父項目。

CommandFlag

必要項。 請參閱 CommandFlag 項目。 有效的 CommandFlag 值為功能表如下所示:

AlwaysCreate

DefaultDocked

DefaultInvisible。 這個旗標不會影響顯示的工具列。

DontCache

DynamicVisibility。 這個旗標不會影響顯示的工具列。

IconAndText

NoCustomize

NotInTBList

NoToolbarClose

文字變更

TextIsAnchorCommand

字串

必要項。 請參閱 Strings 項目。 子系ButtonText必須定義項目。

註釋

選擇性的註解。

父項目

項目

描述

Menus 項目

定義所有的 VSPackage 實作的功能表。

範例

<Menu guid="cmdGuidWidgetCommands" id="menuIDEditWidget"
  priority="0x0002" type="Menu">
  <Parent guid="cmdSetGuidWidgetCommands" id="groupIDFileEdit">
  <CommandFlag>AlwaysCreate</CommandFlag>
  <Strings>
    <ButtonText>Edit Widget</ButtonText>
  </Strings>
</Menu>

請參閱

其他資源

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