Partager via


enregistrer un type de projet

Lorsque vous créez un type de projet, vous devez créer les entrées du Registre qui permet à Visual Studio pour reconnaître et utiliser votre type de projet. Vous créez généralement ces entrées du Registre à l'aide d'un fichier de script de Registre (.rgs).

Dans l'exemple ci-dessous, les instructions du Registre fournissent des chemins d'accès par défaut et des informations le cas échéant, suivi d'une table qui contient des entrées du script de Registre pour chaque instruction. Les tables fournissent des entrées et des informations supplémentaires de script sur les instructions.

Notes

Les informations suivantes de Registre sont conçues pour être un exemple de type et les objectifs des entrées dans les scripts de Registre que vous écrirez pour stocker votre type de projet.Les entrées réelle et leurs utilisations peuvent varier selon les exigences de votre type de projet.Vous devez examiner les exemples disponibles pour rechercher un qui ressemble étroitement au type de projet que vous développez, puis pour examiner le script de Registre pour cet exemple.

les exemples suivants sont de HKEY_CLASSES_ROOT.

Exemple

\.figp
   @="FigPrjFile"
   "Content Type"="text/plain"
\.figp\ShellNew
   "NullFile"=""
\FigPrjFile
   @="Figure Project File"
\DefaultIcon
   @="<Visual Studio SDK installation path>\\9.0VSIntegration\\SomeFolder\\FigPkgs\\FigPrj\\Debug\\FigPrj.dll,-206"
\shell\open
   @="&Open in Visual Studio"
\shell\open\command
   @="devenv.exe \"%1\""

Nom

Type

Données

Description

@

REG_SZ

FigPrjFile

Le nom et la description du type de projet les fichiers avec l'extension .figp.

Content Type

REG_SZ

Text/plain

type de contenu pour les fichiers projet.

NullFile

REG_SZ

Null

 

@

REG_SZ

%MODULE%,-206

icône par défaut utilisée pour le projet de ce type. L'instruction de %MODULE% est effectuée dans le Registre à l'emplacement par défaut de la DLL du type de projet.

@

REG_SZ

&Open in Visual Studio

La cible par défaut l'application dans laquelle ce type de projet sera ouvert.

@

REG_SZ

devenv.exe "%1"

Commande par défaut qui sera exécutée lorsqu'un projet de ce type est ouvert.

Les exemples suivants sont HKEY_LOCAL_MACHINE et se trouvent dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\99.0Exp\Packages].

Exemple

\{ACEF4EB2-57CF-11D2-96F4-000000000000} (The CLSID for the VSPackage)
   @="FigPrj Project Package"
   "InprocServer32"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\                      Debug\\FigPrj.dll"
   "CompanyName"="Microsoft"
   "ProductName"="Figure Project Sample"
   "ProductVersion"="9.0"
   "MinEdition"="professional"
   "ID"=dword:00000001
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\SatelliteDLL
   "DllName"="FigPrjUI.dll"
   "Path"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\Debug\\"
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\Automation
   "FigProjects"=""
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\AutomationEvents
   "FigProjectsEvents"="Returns the FigProjectsEvents Object"
   "FigProjectItemsEvents"="Returns the FigProjectItemsEvents Object"

Nom

Type

Données

Description

@(valeur par défaut)

REG_SZ

FigPrj Project VSPackage

Nom localisé de ce VSPackage enregistré (type de projet).

InprocServer32

REG_SZ

%MODULE%

Chemin d'accès de la DLL du type de projet. L'IDE charge cette DLL et passe le VSPackage le CLSID à DllGetClassObject pour obtenir IClassFactory de construire l'objet d' IVsPackage .

CompanyName

REG_SZ

Microsoft

nom de la société qui a développé le type de projet.

ProductName

REG_SZ

Figure Project Sample

Nom du type de projet.

ProductVersion

REG_SZ

9.0

Numéro de version de la version du type de projet.

MinEdition

REG_SZ

professional

Édition du VSPackage enregistré.

ID

REG_DWORD

%IDS_PACKAGE_LOAD_KEY%

Le de commande fonctionnent de chargement de package pour le projet VSPackage. La clé est validée lorsqu'un projet est chargé après que l'environnement a démarré.

DllName

REG_SZ

%RESOURCE_DLL%

Nom de fichier de la DLL satellite contenant les ressources localisées pour le type de projet.

Path

REG_SZ

%RESOURCE_PATH%

Chemin d'accès de la DLL satellite.

FigProjectsEvents

REG_SZ

Consultez l'instruction pour la valeur.

détermine la chaîne de texte retournée pour cet événement d'automation.

FigProjectItemsEvents

REG_SZ

Consultez l'instruction pour la valeur.

détermine la chaîne de texte retournée pour cet événement d'automation.

Tous les exemples suivants se trouvent dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].

Exemple

\{C061DB26-5833-11D2-96F5-000000000000} (The CLSID for projects of this type)
   @="FigPrj Project"
   "DisplayName"="#2"
   "Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
   "ProjectTemplatesDir"="C:\\Program Files\\VSIP 9.0\\EnvSDK\\FigPkgs\\                           FigPrj\\FigPrjProjects"
   "ItemTemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                           FigPrjProjectItems"
   "DisplayProjectFileExtensions"="#3"
   "PossibleProjectExtensions"="figp"
   "DefaultProjectExtension"=".figp"
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\1       (Folder 1 contains settings for Open Files filters.)
   @="#4"
   "CommonOpenFilesFilter"=dword:00000000
   "CommonFindFilesFilter"=dword:00000000
   "NotAddExistingItemFilter"=dword:00000000
   "FindInFilesFilter"=dword:00000000
   "NotOpenFileFilter"=dword:00000000
   "SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\2
      (Folder 2 contains settings for Find in Files filters.)
   @="#5"
   "CommonOpenFilesFilter"=dword:00000000
   "CommonFindFilesFilter"=dword:00000000
   "NotAddExistingItemFilter"=dword:00000001
   "FindInFilesFilter"=dword:00000001
   "NotOpenFileFilter"=dword:00000000
   "SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (Second GUID indicates the registered project type for the Add Items templates.)
   @="#6"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                    FigPrjProjectItems"
   "SortPriority"=dword:00000064

Nom

Type

Données

Description

@

REG_SZ

FigPrj Project

Nom par défaut des projets de ce type.

DisplayName

REG_SZ

#%IDS_PROJECT_TYPE%

L'ID de ressource du nom à récupérer de la DLL satellite est stocké sous des packages.

Package

REG_SZ

%CLSID_Package%

ID de classe du VSPackage stocké sous des packages.

ProjectTemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

chemin d'accès par défaut des fichiers de modèle de projet. Il s'agit des fichiers affichés par le nouveau modèle de projet.

ItemTemplatesDir

REG_SZ

%TEMPLATE_PATH% \FigPrjProjectItems

chemin d'accès par défaut des fichiers modèles d'élément de projet. Il s'agit des fichiers affichés par le nouveau modèle d'élément à ajouter.

DisplayProjectFileExtensions

REG_SZ

#%IDS_DISPLAY_PROJ_FILE_EXT%

Permet à l'IDE pour implémenter la boîte de dialogue d' Ouvrir .

PossibleProjectExtensions

REG_SZ

figp

Utilisé par l'IDE pour déterminer si un projet étant ouvert est traité par ce type de projet (fabrique de projet). Le format pour plusieurs entrée est une liste délimitée par des points-virgules. par exemple « vdproj ; vdp ».

DefaultProjectExtension

REG_SZ

.figp

Utilisé par l'IDE comme une extension de nom de fichier par défaut pour l'enregistrement en tant qu'opération.

Filter Settings

REG_DWORD

Différent, consultez les instructions et de commentaires le tableau suivant.

Ces paramètres sont utilisés pour définir les différents filtres pour afficher des fichiers dans les boîtes de dialogue de l'interface utilisateur.

@

REG_SZ

#%IDS_ADDITEM_TEMPLATES_ENTRY%

L'ID de ressource pour ajouter des modèles d'élément.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjectItems

chemin d'accès des éléments de projet affichés dans la boîte de dialogue pour le modèle d' Ajouter un nouvel élément .

SortPriority

REG_DWORD

100 (vcprx64)

Détermine l'ordre de tri dans le nœud d'arborescence des fichiers affichés dans la boîte de dialogue d' Ajouter un nouvel élément .

le tableau suivant montre les options de filtres disponibles dans le segment de code précédent.

option de filtre

Description

CommonFindFilesFilter

indique que le filtre est l'un des filtres communs dans la boîte de dialogue de Rechercher dans les fichiers . Les filtres communs sont répertoriés dans la liste des filtres avant les filtres non marqués comme courantes.

CommonOpenFilesFilter

indique que le filtre est l'un des filtres communs dans la boîte de dialogue d' Ouvrir un fichier . Les filtres communs sont répertoriés dans la liste des filtres avant les filtres non marqués comme courantes.

FindInFilesFilter

Indique que le filtre est l'un des filtres dans la boîte de dialogue de Rechercher dans les fichiers et sera répertorié après le mot commun filtre.

NotOpenFileFilter

indique que le filtre ne sera pas utilisé dans la boîte de dialogue d' Ouvrir un fichier .

NotAddExistingItemFilter

indique que le filtre ne sera pas utilisé dans la boîte de dialogue d' Élément existant d'ajouter.

Par défaut, si un filtre n'a pas un ou plusieurs de ces indicateurs définies, le filtre est utilisé dans la boîte de dialogue d' Ajouter un élément existant et la boîte de dialogue d' Ouvrir un fichier une fois les filtres communs sont répertoriés. le filtre n'est pas utilisé dans la boîte de dialogue de Rechercher dans les fichiers .

Tous les exemples suivants se trouvent dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].

Exemple

{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4} (The CLSID for Enterprise Projects)
\{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (CLSID for projects of this type)
   @="#7"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPrj\\FigPrjProjects"
   "SortPriority"=dword:00000029
   "NewProjectDialogOnly"=dword:00000000

Nom

Type

Données

Description

@

REG_SZ

#%IDS_NEWPROJ_ TEMPLATES_ENTRY%

ID de ressource pour de nouveaux modèles de projet.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

Chemin d'accès par défaut pour les projets du type stocké de projet.

SortPriority

REG_DWORD

41 (x29)

Définit l'ordre de tri de projets affichent dans la boîte de dialogue Assistant de projets.

NewProjectDialogOnly

REG_DWORD

0

0 indique que les projets de ce type sont affichés uniquement dans la boîte de dialogue nouveau projet.

Tous les exemples suivants se trouvent dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].

Exemple

\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3} (CLSID for Miscellaneous Files projects)
   @="Miscellaneous Files Project"
\AddItemTemplates\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1
                                 (CLSID for Figures Project projects)
   @="#6"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                    FigPrjProjectItems"
   "SortPriority"=dword:00000064

Nom

Type

Données

Description

@

REG_SZ

Aucun

Valeur par défaut qui indique que les entrées suivantes concernent les entrées de projets Fichiers divers.

@

REG_SZ

#%IDS_ADDITEM_TEMPLATES_ENTRY%

Valeur d'ID de ressource pour les nouveaux fichiers modèles d'éléments à ajouter.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjectItems

Chemin d'accès par défaut des éléments qui sont affichés dans la boîte de dialogue d' Ajouter un nouvel élément .

SortPriority

REG_DWORD

100 (vcprx64)

Définit l'ordre de tri pour l'afficher dans le nœud d'arbre de la boîte de dialogue d' Ajouter un nouvel élément .

L'exemple suivant se trouve dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\Menus].

Exemple

"{ACEF4EB2-57CF-11D2-96F4-000000000000}"=",1000,1"

Les points d'entrée de menu IDE à la ressource utilisée pour récupérer des informations de menu. Lorsque ces données a été fusionné dans la base de données de menu, la même clé sera ajoutée dans la section de MenusMerged du Registre. Le VSPackage ne doit aucune modification dans la section de MenusMerged directement. Dans le champ de données dans le tableau suivant, il existe trois virgule-séparer-champs. Le premier champ identifie un chemin complet d'un fichier de ressources menu :

  • Si le premier champ est omis, la ressource menu est chargée de la DLL satellite identifié par le VSPackage GUID.

Le deuxième champ identifie un ID de ressource menu du type CTMENU :

  • Si l'ID de ressource est spécifié, et le chemin d'accès de fichier est fourni par le premier paramètre, une ressource menu est débitée du chemin d'accès de fichier complet.

  • Si l'ID de ressource est fourni, mais le chemin d'accès de fichier n'est pas le cas, la ressource menu est chargée de la DLL satellite.

  • Si le chemin d'accès de fichier complet est fourni et l'ID de ressource est omis, il est recommandé que le fichier à charger est un fichier de CTO.

Le dernier champ identifie le numéro de version pour la ressource de CTMENU. vous pouvez fusionner le menu de nouveau en modifiant le numéro de version.

Nom

Type

Données

Description

%CLSID_Package%

REG_SZ

,1000,1

La ressource pour récupérer des informations de menu.

Tous les exemples suivants se trouvent dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\NewProjectTemplates].

\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1                (CLSID for Figures Project projects)
   @="#7"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\FigPrjProjects"
   "SortPriority"=dword:00000029
   "NewProjectDialogOnly"=dword:00000000

Nom

Type

Données

Description

@

REG_SZ

#%IDS_NEWPROJ_TEMPLATES_ENTRY%

Valeur d'ID de ressource pour modèles de projet de nombres les nouveaux.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

chemin d'accès par défaut du nouveau répertoire de projets. Les éléments de ce répertoire pourront affichés dans la boîte de dialogue de L'Assistant nouveau projet .

SortPriority

REG_DWORD

41 (x29)

Établit l'ordre dans lequel les projets sont affichés dans le nœud d'arborescence de la boîte de dialogue de Nouveau projet .

NewProjectDialogOnly

REG_DWORD

0

0 indique que les projets de ce type sont affichés uniquement dans la boîte de dialogue de Nouveau projet .

L'exemple suivant se trouve dans le Registre sous la clé [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\InstalledProducts].

\FiguresProductSample
   "Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
   "UseInterface"=dword:00000001

Nom

Type

Données

Description

Package

REG_SZ

%CLSID_Package%

ID de classe du VSPackage enregistré.

UseInterface

REG_DWORD

1

1 indique que l'interface utilisateur est utilisé pour interagir avec ce projet. 0 indique qu'il n'y a aucune interface utilisateur.

Les fichiers de The.vsz qui contrôlent de nouveaux types de projets contiennent fréquemment une entrée de RELATIVE_PATH. ce chemin d'accès est à chemin d'accès relatif spécifié sous la clé de \ProductDir entry of the project type in the following Setup :

HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup

Par exemple, les modèles de projet et d'Infrastructure d'entreprise d'ajouter des entrées du Registre suivantes :

HKEY_LOCAL_MACHINE \ \SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup\EF\ProductDir = C:\Program Files\Microsoft Visual Studio\EnterpriseFrameworks

Ces signifie que si vous incluez une entrée de PROJECT_TYPE=EF dans le fichier .vsz, l'environnement a détecté vos fichiers .vsz dans le répertoire de ProductDir spécifié précédemment.

Voir aussi

Concepts

Liste de vérification : créer de nouveaux types de projet

éléments d'un modèle de projet

Créer des instances de projet à l'aide de les fabriques de projet