Checklist: Creating New Project Types
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 Kinds of Editors 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.
Important Note: Consider using HierUtil7 as a helper to create base classes. For more information about HierUtil7 and its implementation in the VSIP samples, see Using HierUtil7 Project Classes to Implement a Project Type (C+).
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 Using HierUtil7 Project Classes to Implement a Project Type (C+), 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.