Checklist: Create 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 Create custom 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 Support 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 Create project instances by using project factories.
Project hierarchy and command handling. For more information, see Use HierUtil7 project classes to implement a project type (C++), Elements of a project model, Project model core components, and MenuCommands vs. OleMenuCommands.
Project items management, including adding your project to the New Project dialog box. For more information, see Add project and project item templates and Register project and item templates.
Persistence of project state and individual items. For more information, see Open and save project items. For persistence of solution information, see Solutions.
Configuration-independent properties to display in the Properties window. For more information, see Extend properties.
Project configuration properties as implemented in property pages to show configuration-dependent properties. For more information, see Manage 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.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 forVSHPROPID_ShowProjInSolutionPage
. For more information, see __VSHPROPID and GetProperty.Create the Microsoft Installer (.msi) file for installing your VSPackages. For more information, see Install VSPackages with Windows Installer, Register a project type, and VSPackages.