You must complete several tasks to create a new project type. The following checklist provides a guide to those tasks.
- Design the functionality for your new project type. For more information, see Project Type Design Decisions. 
- Determine which editors are used for code and other project elements. You can use the core or standard editors, or you can create and use project-specific editors. For more information, see Creating Custom Text Editors and Designers and How to: Open Project-Specific Editors. 
- Determine the level of participation your project items will have in the Class View and the Object Browser. For more information, see Supporting Symbol-Browsing Tools. 
- Derive new classes based on design decisions that you made previously for your project and project items. 
- Write the code for the following project type components: - Project factory, to manage creating new projects and opening existing projects. For more information, see Creating Project Instances By Using Project Factories. 
- Project hierarchy and command handling. For more information, see Implementation of Project Interfaces, Elements of a Project Model, Project Model Core Components and How to: Create and Handle Commands in VSPackages (C#). 
- Project items management, including adding your project to the New Project dialog box. For more information, see Adding Project and Project Item Templates and Registering Project and Item Templates. 
- Persistence of project state and individual items. For more information, see Opening and Saving Project Items. For persistence of solution information, see Solutions. 
- Configuration independent properties to display in the Properties window. For more information, see Properties Window and Property Pages. 
- Project configuration properties as implemented in property pages to show configuration-dependent properties. For more information, see Managing Configuration Options. 
- Enumerating outputs for deployment. For more information, see Project Configuration for Output. 
- Project startup services. For more information, see Elements of a Project Model and Project Model Core Components. 
- Objects, or classes derived from IDispatch, available for Automation. For more information, see Automation Model. 
- XML Command Table (.vsct) files. For more information, see Visual Studio Command Table (.Vsct) Files. 
 
- Test, debug, and start your project type. 
- Display your project in the Project tab of the Add Reference dialog box by setting VARIANT_TRUE as the value for VSHPROPID_ShowProjInSolutionPage. For more information, see __VSHPROPID and GetProperty. 
- Create the Microsoft Installer (.msi) file for installing your VSPackages. For more information, see Installing VSPackages By Using Windows Installer, Registering a Project Type, and VSPackages.