IDTCommandTarget.Exec Method
Visual Studio 2012
Executes the specified named command.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
void Exec( string CmdName, vsCommandExecOption ExecuteOption, ref Object VariantIn, out Object VariantOut, out bool Handled )
Parameters
- CmdName
- Type: System.String
The name of the command to execute.
- ExecuteOption
- Type: EnvDTE.vsCommandExecOption
A vsCommandExecOption constant specifying the execution options.
- VariantIn
- Type: System.Object
A value passed to the command.
- VariantOut
- Type: System.Object
A value passed back to the invoker Exec method after the command executes.
- Handled
- Type: System.Boolean
The following example uses the Command object and its AddNamedCommand and AddControl methods, and the IDTCommandTarget interface and its (Exec and QueryStatus) methods, to demonstrate how to make an Add-in appear as a command on the Tools menu in Visual Studio. Note that this code does not work in a macro.
Implements IDTCommandTarget Dim applicationObject As EnvDTE.DTE Dim addInInstance as EnvDTE.AddIn Dim objAddIn As AddIn = CType(addInInst, AddIn) Dim CommandObj As Command Try CommandObj = applicationObject.Commands.AddNamedCommand(objAddIn, "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", True, 59, Nothing, 1 + 2) '1+2 == vsCommandStatusSupported+vsCommandStatusEnabled CommandObj.AddControl(applicationObject.CommandBars.Item("Tools")) Catch e as System.Exception End Try Public Sub Exec(ByVal cmdName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec handled = False If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then If cmdName = "MyAddin1.Connect.MyAddin1" Then handled = True Exit Sub End If End If End Sub Public Sub QueryStatus(ByVal cmdName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef statusOption As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then If cmdName = "MyAddin1.Connect.MyAddin1" Then statusOption = CType(vsCommandStatus.vsCommandStatusEnabled & vsCommandStatus.vsCommandStatusSupported, vsCommandStatus) Else statusOption = vsCommandStatus.vsCommandStatusUnsupported End If End If End Sub
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.