views:

449

answers:

3

I'm writing a simple VS add-in and would like to programmatically invoke the "Document Format" option (under Edit) within code. Google isn't being very friendly to me today....

A: 

You'll need to use the standard command editors, called with the VSStd2KCmdId.FORMATDOCUMENT command enumeration.

Reed Copsey
+1  A: 
Command cmd = _applicationObject.Commands.Item("Edit.FormatDocument", -1);
object dummy = null;
_applicationObject.Commands.Raise(cmd.Guid, cmd.ID, ref dummy, ref dummy);
+3  A: 

If you have a reference to your document (of type Window), and you have a reference to the _DTE object, you can call it like this:

myDocument.Activate();
myDTE.ExecuteCommand("Edit.FormatDocument", string.Empty);

Most of the time, you can get a reference to the _DTE object from the parameters passed into your add-in.

Jason Williams