Share via

Commands2.AddNamedCommand2 Method

Creates a named command that is saved by the environment and made available the next time the environment starts, even if the Add-in is not loaded on environment startup.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)


Function AddNamedCommand2 ( _
    AddInInstance As AddIn, _
    Name As String, _
    ButtonText As String, _
    Tooltip As String, _
    MSOButton As Boolean, _
    Bitmap As Object, _
    ByRef ContextUIGUIDs As Object(), _
    vsCommandStatusValue As Integer, _
    CommandStyleFlags As Integer, _
    ControlType As vsCommandControlType _
) As Command
Command AddNamedCommand2(
    AddIn AddInInstance,
    string Name,
    string ButtonText,
    string Tooltip,
    bool MSOButton,
    Object Bitmap,
    ref Object[] ContextUIGUIDs,
    int vsCommandStatusValue,
    int CommandStyleFlags,
    vsCommandControlType ControlType
Command^ AddNamedCommand2(
    [InAttribute] AddIn^ AddInInstance, 
    [InAttribute] String^ Name, 
    [InAttribute] String^ ButtonText, 
    [InAttribute] String^ Tooltip, 
    [InAttribute] bool MSOButton, 
    [InAttribute] Object^ Bitmap, 
    [InAttribute] array<Object^>^% ContextUIGUIDs, 
    [InAttribute] int vsCommandStatusValue, 
    [InAttribute] int CommandStyleFlags, 
    [InAttribute] vsCommandControlType ControlType
abstract AddNamedCommand2 : 
        AddInInstance:AddIn * 
        Name:string * 
        ButtonText:string * 
        Tooltip:string * 
        MSOButton:bool * 
        Bitmap:Object * 
        ContextUIGUIDs:Object[] byref * 
        vsCommandStatusValue:int * 
        CommandStyleFlags:int * 
        ControlType:vsCommandControlType -> Command 
function AddNamedCommand2(
    AddInInstance : AddIn, 
    Name : String, 
    ButtonText : String, 
    Tooltip : String, 
    MSOButton : boolean, 
    Bitmap : Object, 
    ContextUIGUIDs : Object[], 
    vsCommandStatusValue : int, 
    CommandStyleFlags : int, 
    ControlType : vsCommandControlType
) : Command


  • AddInInstance
    Type: EnvDTE.AddIn
    Required. The AddIn Object is adding the new command.
  • Name
    Type: System.String
    Required. The short form of the name for your new command. AddNamedCommand2 uses the preface Addins.Progid. to create a unique name.
  • ButtonText
    Type: System.String
    Required. The name to use if the command is bound to a button that is displayed by name rather than by icon.
  • Tooltip
    Type: System.String
    Required. The text displayed when a user hovers the mouse pointer over any control bound to the new command.
  • MSOButton
    Type: System.Boolean
    Required. Indicates how the Bitmap parameter is interpreted.
    If the value is true, Bitmap is the ID of a Microsoft Office bitmap.
    If MSOButton is false, then Bitmap can be one of the following:
    - A Bitmap
    - An Icon
    - An IPicture
    - The ID of a 16x16 bitmap resource (but not an icon resource) that is provided by the add-in. Visual Studio will first look in the add-in's satellite DLL. If the resource is not found there, the add-in DLL will be searched.
  • Bitmap
    Type: System.Object
    Optional. The ID of a bitmap to display on the button. See MSOButton.
  • ContextUIGUIDs
    Type: array<System.Object[]%
    Optional. A SafeArray of GUIDs that determines which environment contexts (that is, debug mode, design mode, and so on) show the command. See vsCommandDisabledFlags.
  • vsCommandStatusValue
    Type: System.Int32
    Optional. Determines whether the disabled state of the command is invisible or grey when you supply a ContextUIGUIDs and none are currently active.
  • CommandStyleFlags
    Type: System.Int32
    Optional. Determines the state of the command when you supply a ContextUIGUIDs and none of the specified contexts are currently active. This parameter should always include vsCommandStatusSupported. If it also includes vsCommandStatusEnabled, the command will be enabled..

Return Value

Type: EnvDTE.Command
The named command that was created.


For information about how to get the bitmap ID values of MSO buttons, see Listing Button Faces in the Command Bar for the Microsoft Office System.

Add-ins can later change the ButtonText name by responding to the QueryStatus method. If the text begins with #, then the rest of the string is an integer that represents a resource ID in the Add-in's registered satellite DLL.

The ContextUIGUIDs parameter and the vsCommandStatusValue parameter are used when the addin is not loaded and thus cannot respond to the QueryStatus method. If ContextUIGUIDs is empty, then the command is enabled until the addin is loaded and can respond to QueryStatus.

The addin can receive invocation notification through the IDTCommandTarget interface. A button can be added by using the OnConnection method of the IDTExtensibility2 interface.

.NET Framework Security

See Also


Commands2 Interface

EnvDTE80 Namespace