VisibilityItem element

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

The VisibilityItem element determines the static visibility of commands and toolbars. Every entry identifies a command or menu, and also an associated command UI context. Visual Studio detects commands, menus, and toolbars, and their visibility, without loading the VSPackages that define them. The IDE uses the IsCmdUIContextActive method to determine whether a command UI context is active.

After the VSPackage is loaded, Visual Studio expects command visibility to be determined by the VSPackage rather than the VisibilityItem. To determine your command's visibility, you can implement either the BeforeQueryStatus event handler or the QueryStatus method, depending on how you have implemented your command.

A command or menu that has a VisibilityItem element appears only when the associated context is active. You can associate a single command, menu, or toolbar with one or more command UI contexts by including an entry for each command-context combination. If a command or menu is associated with multiple command UI contexts, then the command or menu is visible when any one of the associated command UI contexts is active.

The VisibilityItem element applies only to commands, menus, and toolbars, not to groups. An element that does not have a related VisibilityItem element is visible whenever its parent menu is active.

Syntax

<VisibilityItem
  guid="cmdGuidMyProductCommands"
  id="cmdidAddWidget"
  context="guidNotViewSourceMode"/>

Attributes and elements

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute Description
guid Required. The GUID of the GUID/ID command identifier.
id Required. The ID of the GUID/ID command identifier.
context Required. The UI context in which the command is visible.
Condition Optional. See Conditional attributes.

Child elements

None

Parent elements

Element Description
VisibilityConstraints element The VisibilityConstraints element determines the static visibility of groups of commands and toolbars.

Remarks

The standard Visual Studio UI contexts are defined in the Visual Studio SDK installation path\VisualStudioIntegration\Common\Inc\vsshlids.h file as well as in the UIContextGuids and UIContextGuids80 classes. A more complete set of UI contexts is defined in the VSConstants class.

Example

<VisibilityConstraints>
  <VisibilityItem guid="cmdSetGuidMyProductCommands"     id="cmdidAddWidget"
    context="guidNotViewSourceMode"/>
</VisibilityConstraints>

See also