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.