Tips & tricks

Visual Studio Extensibility Cookbook

This section contains shorter, more specific guides for common extensibility tasks. Browse the menu to see them all, or pick a topic below.

Working with solutions

Listen for solution events, check if a solution is open, and enumerate projects.

Working with projects

Get projects from files, add files, and inspect project types and capabilities.

Working with files

Open documents, get active text views, manipulate text buffers, and associate file icons.

Working with builds

Build solutions and projects, get and set build properties.

Working with events

Listen for solution, build, window, debugger, and document events.

Working with the debugger

Check debug mode and listen for debugger state changes.

Working with selection

Get the current selection and listen for selection changes in tool and document windows.

Working with the shell

Access shell services, open URLs, and prompt for restart.

Working with services

Retrieve VS services, MEF services, and set up dependency injection.

Working with windows

Find, show, and enumerate tool windows and document windows.

Working with documents

Open, read, edit, and monitor text documents and the DocumentView API.

Troubleshooting

Common issues, debugging tips, and FAQ for extension development.

Last updated: