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 命令 ID 的 ID。

priority

可选。 在菜单的一组中指定菜单相对位置的数值。

ToolbarPriorityInBand

可选。 在带区指定工具栏相对位置的数值,当窗口停靠。

type

可选。 指定元素的枚举值。

如果不存在,默认类型为菜单。

上下文

显示的快捷菜单,当用户右击窗口。 快捷菜单具有以下特征:

  • ,当菜单将显示为快捷菜单时,不使用父和优先级别字段。

  • 可以使用作为子菜单并作为快捷菜单。 在这种情况下,组标识符和优先级别字段被接受。

  • 并非始终可用。

,只有满足以下条件时,快捷菜单显示:

  • 窗口承载它显示。

  • VSPackage 的鼠标处理程序检测在窗口中右击然后调用方法处理命令。

  • 快捷菜单通过调用 ShowContextMenu 方法 (建议方法) 或 ShowContextMenu 方法显示。

Menu

提供一个下拉菜单。 一个下拉菜单具有以下特征:

  • 保留其定义的父级。

  • 必须具有父组或 CommandPlacement 分组。

  • 可以位于另一个子菜单上。

  • 自动显示,只要其父菜单随即显示。

  • 不需要任何 VSPackage 代码的实现所进行的显示它。

MenuController

提供一个拆分按钮下拉菜单,通常用于工具栏。 MenuController 菜单具有以下特征:

  • 必须在另一个菜单包含通过父级或 CommandPlacement。

  • 保留其定义的父级。

  • 可以具有任意菜单作为其父级。

  • 自动变为可用,只要其父菜单随即显示。

  • 不需要以编程方式支持进行显示的菜单。

从拆分按钮菜单上的命令在菜单按钮显示。 显示的命令具有以下特性之一:

  • 它是使用的最后一个命令,如果命令仍将显示并启用。

  • 它是第一个突出显示的命令。

MenuControllerLatched

提供有关可指定为默认选择通过标记命令如键控的一个拆分按钮下拉菜单。

一个带有密钥的命令通常是在菜单上被标记为已选择的命令,通过显示选中标记。 ,如果它已设置的 OLECMDF_LATCHED 标志。 IOleCommandTarget 接口的 QueryStatus 方法的实现,命令可以被标记为已进行键控。 MenuControllerLatched 菜单具有以下特征:

  • 必须在另一个菜单包含通过父组或 CommandPlacement。

  • 保留其定义的父级。

  • 可以具有任意菜单作为其父级。

  • 变为可用,只要其父菜单随即显示。

  • 不需要以编程方式支持进行显示的菜单。

从拆分按钮菜单上的命令在菜单按钮显示。 显示的命令具有以下特性之一:

  • 它是键控的第一个突出显示的命令。

  • 它是第一个突出显示的命令。

工具栏

提供一个工具栏。 工具栏具有以下特征:

  • 忽略其定义的父级。

  • 甚至不使用 CommandPlacement,无法进行任何组子菜单,。

  • 可以通过单击 工具栏 始终显示在 视图 菜单。

  • 使用 VisibilityItem,可以显示。

  • 不需要任何代码创建它。 有关如何的示例创建工具栏,请参见 演练:将工具栏添加到 IDE

ToolWindowToolbar

提供附加到特定的工具窗口的工具栏,就象工具栏附加到开发环境。

  • 忽略其定义的父级。

  • 甚至不使用 CommandPlacement,无法进行任何组子菜单,。

  • 显示,仅当承载工具栏中的工具窗口,其中显示了 VSPackage 显式将工具栏添加到工具窗口。 这通常执行,当工具窗口是通过获取工具栏主机属性 (如由 IVsToolWindowToolbarHost 接口) 从工具窗架然后调用 AddToolbar 方法创建时。

Condition

可选。 请参见 VSCT XML 架构条件特性

子元素

元素

说明

父级

可选。 菜单项的父元素。

CommandFlag

必选。 请参见 Command Flag 元素。 菜单的有效 CommandFlag 值如下所示:

AlwaysCreate

DefaultDocked

DefaultInvisible. 此标志不影响显示工具栏。

DontCache

DynamicVisibility. 此标志不影响显示工具栏。

IconAndText

NoCustomize

NotInTBList

NoToolbarClose

TextChanges

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) 文件