How to debug Visual Studio extensions

Lu55 picture Lu55 · Feb 14, 2012 · Viewed 29.9k times · Source

I'm just writing a VSIX extension for Visual Studio 2010 and can't figure out how to debug it.

One obvious method is to output messages. Extension template uses Trace.WriteLine(). But where to find it's output?

Answer

JaredPar picture JaredPar · Feb 14, 2012

Visual Studio Extensions can be debugged like any other application. You just need to setup the debug experience to launch devenv with the loaded extension. Try the following

  • Right click on the project and select Properties
  • Go to the Debug Tab

Click on the radio button for Start External Program. Point it to the devenv.exe binary. On my machine it's located at

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

On a non x64 machine though you can remove the " (x86)" portion.

Then set the command line arguments to /rootsuffix Exp. This tells Visual Studio to use the experimental hive instead of the normal configuration hive. By default VSIX extensions when built will register themselves in the experimental hive.

Now you can F5 and it will start Visual Studio with your VSIX as an available extension.