Extending Visual Basic and Visual C# Projects
Visual Studio includes a programmable, project-neutral object model that provides access to the underlying components and events of the integrated development environment (IDE). This "general extensibility" model has components that represent solutions, projects, tool windows, code editors, debuggers, code objects, documents, and events. This general extensibility model is discussed in Extending the Visual Studio Environment.
Visual Studio also includes a programmable object model that exposes the Visual Basic and Visual C# projects and the project items they contain. This model contains several objects that can be used to automate tasks in the IDE and extend project types and project items.