Creating Project Types

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 with Project Factories
    Provides information about how to provide and use a project factory to create instances of a new project.

  • Using the MPF to Implement a Project Type (C#)
    Provides an overview of the project-support base classes in the Managed Package Framework (MPF).

  • Using HierUtil7 Project Classes to Implement a Project Type (C++)
    Discusses the implementation of project interfaces based on the Basic Project sample implementation of the interfaces using HierUtil7, a set of helper classes for managing a hierarchy of nodes.

  • Registering a Project Type
    Provides code samples taken from the registry script for the Figures Project sample. These samples include 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.

  • Automation Model
    Describes a secondary method of extending Visual Studio.

  • 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.

  • How to: Create Menu Commands for a VSPackage By Using the Binary Command Table Compiler
    Discusses conversion of VSPackages by the Binary Command Table Compiler. Provides step-by-step instructions for creating menu commands and for enabling the environment to use new menus and commands.

  • 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.