title | description | ms.date | ms.topic | helpviewer_keywords | author | ms.author | manager | ms.subservice | ||
---|---|---|---|---|---|---|---|---|---|---|
Checklist: Creating New Project Types |
Learn about the tasks that must be completed to create and display a new project type in Visual Studio. |
11/04/2016 |
conceptual |
|
maiak |
maiak |
mijacobs |
extensibility-integration |
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 xref:Microsoft.VisualStudio.Shell.Interop.__VSHPROPID and xref:Microsoft.VisualStudio.Shell.Interop.IVsHierarchy.GetProperty%2A. -
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.