Ajouter des éléments à la boîte de dialogue Ajouter un nouvel élémentAdd items to the Add New Item dialog box

Le processus d’ajout d’éléments à la ajouter un nouvel élément boîte de dialogue commence par les clés de Registre.The process for adding items to the Add New Item dialog box starts with the registry keys. Comme indiqué dans les entrées de Registre suivantes, le AddItemTemplates section contient le chemin d’accès et le nom du répertoire dans lequel les éléments mis à disposition dans le ajouter un nouvel élément boîte de dialogue sont placés.As shown in the following registry entries, the AddItemTemplates section contains the path and name of the directory in which items made available in the Add New Item dialog box are put.

Note

Le tableau qui suit immédiatement le segment de code contient des informations supplémentaires sur l’entrée de Registre.The table immediately following the code segment contains additional information about the registry entry.

Cette section se trouve sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.This section is located under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.

Le premier GUID est le CLSID pour les projets de ce type ; le second GUID indique le type de projet enregistré pour les modèles d’ajouter des éléments :The first GUID is the CLSID for projects of this type; the second GUID indicates the registered project type for the Add Items templates:

\{C061DB26-5833-11D2-96F5-000000000000} \AddItemTemplates\TemplatesDir\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplatesDir\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1

@ = #6@ = #6

TemplatesDir = \<chemin d’installation de Visual Studio SDK>\VSIntegration\<SomeFolder> \ <SomePackage>\<SomeProject>\<SomeProjectItems>TemplatesDir = \<Visual Studio SDK installation path>\VSIntegration\<SomeFolder>\<SomePackage>\<SomeProject>\<SomeProjectItems>

SortPriority = dword:00000064SortPriority = dword:00000064

NameName TypeType Données (à partir de .rgs fichier)Data (from .rgs file) DescriptionDescription
@ (Par défaut)@ (Default) REG_SZREG_SZ #% IDS_ADDITEM_TEMPLATES_ENTRY %#%IDS_ADDITEM_TEMPLATES_ENTRY% ID de ressource pour ajouter un élément modèles.Resource ID for Add Item templates.
Val TemplatesDirVal TemplatesDir REG_SZREG_SZ % TEMPLATE_PATH %\<SomeProjectItems>%TEMPLATE_PATH%\<SomeProjectItems> Chemin d’accès des éléments de projet affiché dans la boîte de dialogue pour le ajouter un nouvel élément Assistant.Path of the project items displayed in the dialog for the Add New Item wizard.
Val SortPriorityVal SortPriority REG_DWORDREG_DWORD 100 (x64x64)100 (x64x64) Détermine l’ordre de tri dans le nœud d’arbre de fichiers affichés dans le ajouter un nouvel élément boîte de dialogue.Determines the sort order in the tree node of files displayed in the Add New Item dialog box.

Note

Les GUID pour les types de projets Visual Basic et Visual c# sont les suivantes :The GUIDS for the Visual C# and Visual Basic project types are as follows:

  • Visual C#Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
  • Visual BasicVisual Basic: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}

Le répertoire répertorié pour TemplatesDir, qui est TEMPLATE_PATH %\<SomeProjectItems>, est le nœud sur le côté gauche de la ajouter Un nouvel élément arborescence de boîte de dialogue.The directory listed for TemplatesDir, which is %TEMPLATE_PATH%\<SomeProjectItems>, is the node on the left side of the Add New Item dialog box tree. Dans l’arborescence des éléments supplémentaires sont basées sur le sous-répertoire dans le répertoire racine.Additional elements in the tree are based on the subdirectory within that root directory. Les fichiers disponibles à ajouter au projet sont les éléments dans le volet droit de la ajouter un nouvel élément boîte de dialogue.The files available to be added to the project are the items in the right pane of the Add New Item dialog box.

En règle générale, ce dossier contient les fichiers de modèle pour votre projet comme un modèle HTML ou .cpp fichier et tout .vsz fichiers de démarrage d’Assistants.Typically, this folder will contain the template files for your project such as a template HTML or .cpp file, and any .vsz files for starting wizards. Pour contrôler la façon dont les éléments sont affichés, vous pouvez également inclure .vsdir fichiers pour la localisation des noms de répertoires et les icônes.To control how the items are displayed, you can also include .vsdir files for localizing directory names and icons. La chaîne localisée est la légende qui apparaît dans la boîte de dialogue qui représente ce nœud dans le ajouter un nouvel élément arborescence de boîte de dialogue.The localized string is the caption that appears in the dialog box that represents this node in the Add New Item dialog box tree.

Toutefois, il est inutile d’avoir tous les éléments dans un .vsdir fichier.However, you do not have to have everything in one .vsdir file. Vous pouvez avoir un .vsdir fichier pour chaque élément dans le répertoire.You can have one .vsdir file for every item in the directory. Pour plus d’informations, consultez fichier Assistant (.vsz) et fichiers de description (.vsdir) de répertoire de modèle.For more information, see Wizard (.vsz) file and Template directory description (.vsdir) files.

Note

Le .vsdir fichiers dans les répertoires de modèle sont facultatifs.The .vsdir files in the template directories are optional. Si vous souhaitez simplement placer un élément de projet dans le répertoire et l’afficher dans le ajouter un nouvel élément boîte de dialogue, vous pouvez placer ce fichier dans le répertoire de modèles spécifié dans le TemplatesDir instruction.If you just want to put a project element in the directory and display it in the Add New Item dialog box, you can put that file in the templates directory specified in the TemplatesDir statement. Le fichier puis apparaîtront dans le volet droit de la ajouter un nouvel élément boîte de dialogue pour ce projet.The file will then be displayed in the right pane of the Add New Item dialog box for that project. Toutefois, si vous souhaitez afficher une légende localisée pour le fichier ou une icône, vous devez inclure au moins un .vsdir fichier dans le répertoire de modèles.However, if you want to display a localized caption for the file or an icon, you must include at least one .vsdir file in the templates directory.

Regrouper des éléments de projetGroup project items

Si vous souhaitez contiennent des groupes de modèles dans les dossiers dans le ajouter un nouvel élément arborescence de boîte de dialogue, vous devez disposer des sous-répertoires du répertoire de modèle racine avec les éléments dans les.If you want to contain template groups in folders in the Add New Item dialog box tree, you must have subdirectories under the root template directory with the items in them. Lorsque le ajouter un nouvel élément boîte de dialogue s’affiche aux utilisateurs, ils seront également voir les sous-dossiers et être en mesure de sélectionner des éléments de projet à partir de celles-ci.When the Add New Item dialog box is displayed to users, they will also see the subfolders and be able to select project elements from them.

La priorité de tri dans le segment de code détermine où ce répertoire de modèle sera créé dans l’arborescence par rapport aux autres éléments du nœud d’arbre.The sort priority in the code segment determines where this template directory will be created in the tree relative to other elements of the tree node. Pour le ajouter un nouvel élément boîte de dialogue, la priorité de tri est tout ce que vous devez inclure afin que vos éléments seront affichera à l’emplacement approprié dans la boîte de dialogue.For the Add New Item dialog box, the sort priority is all that you must include so that your items will be displayed in the correct location in the dialog box.

Vous pouvez également implémenter le IVsFilterAddProjectItemDlg2 interface pour filtrer ce qui est affiché dans le ajouter un nouvel élément boîte de dialogue.You can also implement the IVsFilterAddProjectItemDlg2 interface to filter what is displayed in the Add New Item dialog box. En implémentant cette interface, vous pouvez configurer un modèle directory sur le disque qui contient, par exemple, 50 fichiers de modèle et l’Assistant.By implementing this interface, you can set up one template directory on disk that contains, for example, 50 template and wizard files. De cette façon, vous pouvez avoir différents types de projets avec 20 fichiers qui appartiennent à un type de projet, les autres 30 fichiers qui appartiennent à un autre type de projet et tous les fichiers disponibles dans un type de projet général.In that way, you can have different project types with 20 files that belong to one project type, the other 30 files that belong to another project type, and all the files available in a general type of project. De cette manière, en fonction du projet auquel le modèle est créé, vous pouvez afficher un autre ensemble de fichiers de modèle.In this manner, depending on which project template is created, you can display a different set of template files.

Par exemple, dans un projet Visual Basic, vous pouvez avoir les projets Web et client.For example, in a Visual Basic project, you might have Web projects and client projects. Les Web forms ne sont pas des éléments utiles à ajouter à un projet client, et windows forms n’est pas utiles éléments à ajouter à un projet de serveur Web.Web forms are not useful items to add to a client project, and windows forms are not useful items to add to a Web server project. Par conséquent, vous pouvez créer un répertoire de modèle qui contient tous les fichiers pour les deux types de projet.Therefore, you can create one template directory that contains all the files for both types of project. Ensuite, en implémentant IVsFilterAddProjectItemDlg2, vous pouvez masquer des éléments qui ne doivent pas être affichées en fonction du type de projet ou les paramètres du projet dans le projet.Then, by implementing IVsFilterAddProjectItemDlg2, you can hide items that should not be displayed based on the type of project or project settings in the project.

Filtrer les éléments de projetFilter project items

IVsFilterAddProjectItemDlg2 fournit de filtrage d’éléments dans l’arborescence (volet gauche) et les fichiers de projet (volet droit) comme suit :IVsFilterAddProjectItemDlg2 provides for filtering of elements in the tree (left pane) and project files (right pane) in the following ways:

  • En fonction des noms localisés (légendes affichées dans la boîte de dialogue qui est contenue dans le .vsdir fichier) fourni par IVsFilterAddProjectItemDlg.By the localized names (captions displayed in the dialog box that is contained in the .vsdir file) provided by IVsFilterAddProjectItemDlg.

  • Par les noms réels des fichiers et dossiers sur le disque (non localisé — aucune .vsdir fichier) fourni par IVsFilterAddProjectItemDlg.By the actual names of the files and folders on disk (non-localized — no .vsdir file) provided by IVsFilterAddProjectItemDlg.

  • Par catégorie, fourni par IVsFilterAddProjectItemDlg2.By category, provided by IVsFilterAddProjectItemDlg2.

    Pour filtrer par catégorie, fournissez une chaîne de catégorie à un élément dans le .vsdir fichier, telles que formulaire Web ou élément Client en Visual Basic.To filter by category, provide a category string to an item in the .vsdir file, such as Web form or Client item in Visual Basic. Le code de la boîte de dialogue récupère ensuite la classification de la catégorie à partir de la .vsdir de fichier et le transmet à vous.The dialog box code then retrieves the category classification from the .vsdir file and passes it to you. Vous pouvez ensuite passer ces informations à votre implémentation de IVsFilterAddProjectItemDlg2 pour filtrer le ajouter un nouvel élément boîte de dialogue par catégories.You can then pass that information to your implementation of IVsFilterAddProjectItemDlg2 to filter the Add New Item dialog box by categories. Vous pouvez également filtrer les éléments pour les pages Web ou comme des cas d’application client Win32.You can also filter items for Web pages or as client Win32 application cases. En outre, vous pouvez identifier Visual C++Visual C++ des éléments étiquetés comme Microsoft Foundation Classes (MFC) ou des éléments de modèle active de la bibliothèque (ATL).Additionally, you can identify Visual C++Visual C++ tagged items as Microsoft Foundation Classes (MFC) or active template library (ATL) items. Lorsque vous identifiez ces éléments, le système de projet peut définir ses propres classifications afin que le système peut être filtré en fonction de catégories et classifications.When you identify these items, the project system can define its own classifications so that the system can be filtered based on categories and classifications.

    Si vous implémentez cette fonctionnalité de filtre, il est inutile mapper une table de chaque élément doit être masqué.If you implement this filter functionality, you do not have to map a table of every item that should be hidden. Vous pouvez simplement classer des éléments dans les types et placer les classifications dans le .vsdir ou les fichiers.You can simply classify items into types and put the classifications in the .vsdir file or files. Vous pouvez masquer les éléments qui ont une classification spécifique en implémentant l’interface.Then you can hide any of the items that have a specific classification by implementing the interface. Dans cette façon, vous pouvez rendre les éléments dans le ajouter un nouvel élément dynamique de boîte de dialogue en fonction de l’état au sein du projet.In this way, you can make the items in the Add New Item dialog box dynamic based on the state within the project.

Voir aussiSee also

IVsFilterAddProjectItemDlg2
Inscrire les modèles de projet et d’élément Register project and item templates
CATID des objets qui sont généralement utilisés pour étendre des projets CATIDs for objects that are typically used to extend projects
Ajouter le projet et les modèles d’élément de projet Add project and project item templates
Fichiers de description (.vsdir) de répertoire de modèle Template directory description (.vsdir) files
Fichier de l’Assistant (.vsz)Wizard (.vsz) file