Chapter 13: Extending Visual Studio 2010

383

///<summary>

///Implements the Exec method of the IDTCommandTarget

///interface. This is called when the command is invoked.

///</summary>

///<param term='commandName'>

///The name of the command to execute.

///</param>

///<param term='executeOption'>

///Describes how the command should be run.

///</param>

///<param term='varIn'>

///Parameters passed from the caller to the command handler.

///</param>

///<param term='varOut'>

///Parameters passed from the command handler to the caller.

///</param>

///<param term='handled'>

///Informs the caller if the command was handled or not.

///</param>

///<seealso class='Exec' />

public void Exec(

string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)

{

}

private DTE2 _applicationObject; private AddIn _addInInstance;

}

}

You’ve had an overview of what the IDTExtensibility2 and IDTCommandTarget

interfaces do and reviewed the comments in Listing 13-1. In the next section, you’ll see how to add your own code to the interface methods to make the KeystrokeFinder Add-In perform some useful work.

Adding Functionality to an Add-In

When implementing the functionality of an Add-In, you’ll be most concerned with capturing the call to Exec, which VS calls whenever the user selects the Tools menu item for your Add-In. This section will also cover a couple of other methods: OnConnection, which contains a lot of initialization code, and QueryStatus, which is handy for managing the state of the Add-In menu item. We’ll look at OnConnection first so that you can see how the Add-In is initialized.

Page 406
Image 406
Microsoft 9GD00001 manual Adding Functionality to an Add-In, 383