Creating Project Types

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

You can extend Visual Studio by creating a new project type. To create a new project type, you must understand several concepts and complete a number of steps. The following topics provide an overview of how to create project types.

In This Section

Project Type Design Decisions
Discusses the item, project file persistence, and commitment mechanic design decisions that you have to make before creating a new project type.

Checklist: Creating New Project Types
Provides an overview of the steps that you must follow to create a new project type that supports programming tasks as editing code and compiling, building, debugging, and deploying applications in your project.

Creating Project Instances By Using Project Factories
Provides information about how to provide and use a project factory to create instances of a new project.

Registering a Project Type
Provides code samples of statements from the registry that provide default paths and data, and a table that contain entries from the registry script for each statement.

Project Persistence
Discusses the use of IPersistFileFormat to persist both file and non-file-based project objects.

Using MSBuild
Describes how your project type can use the MSBuild build engine to let users build from Visual Studio and at the command line.

Supporting Symbol-Browsing Tools
Explains the architecture of code viewing tools such as the Object Browser and Class View window. Describes the interfaces and methods that are used to implement object browsing in a VSPackage.

Adding Project and Project Item Templates
Discusses the significance that projects play in determining which editor is used when a project item is opened and how project resources can be manipulated.

Installing VSPackages With Windows Installer
Shows how to give your VSPackage its own unique identity and how to wrap your VSPackage DLLs and other information in a Windows Installer package (.MSI file) for deployment to your customers.

Hierarchies in Visual Studio
Describes how Visual Studio views and addresses hierarchies.

VSPackages
Provides an overview of a VSPackage, an installable COM object that extends the Visual Studio environment and discusses how to implement your own VSPackage.

Project Types
Discusses how to use projects to modify code, compile and build code, and run and debug code, and provides links to detailed topics about how to create project types.