Ajout d’éléments à l’ajouter un nouvel élément boîtes de dialogueAdding Items to the Add New Item Dialog Boxes

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, la section AddItemTemplates 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 of 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\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000} \1\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplateDirs\ {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:00000064"SortPriority"=dword:00000064

NameName TypeType Données (fichier .rgs)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és 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’arborescence 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 projet Visual c# et Visual Basic sont les suivantes :Visual C#Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}Visual BasicVisual Basic: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}The GUIDS for the Visual C# and Visual Basic project types are as follows:Visual C#Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}Visual BasicVisual Basic: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}

Le répertoire répertoriés pour TemplateDirs, qui est % TEMPLATE_PATH%\SomeProjectItems, est le nœud situé à gauche de la ajouter un nouvel élément arborescence de boîte de dialogue.The directory listed for TemplateDirs, 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 pour être ajoutés 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 les fichiers .cpp et tous les fichiers .vsz pour les Assistants de démarrage.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 des fichiers .vsdir pour la localisation des icônes et des noms de répertoires.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 l’arborescence de la boîte de dialogue Ajouter un nouvel élément.The localized string is the caption that appears in the dialog box that represents this node in the Add New Item dialog tree.

Toutefois, il est inutile d’avoir tous les éléments dans un seul fichier .vsdir.However, you do not have to have everything in one .vsdir file. Vous pouvez avoir un seul fichier .vsdir 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 Assistant (. Fichier vsz) et Description du modèle active (. Fichiers VSDir).For more information, see Wizard (.Vsz) File and Template Directory Description (.Vsdir) Files.

Note

Les fichiers .vsdir 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 les 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 l’instruction TemplatesDir.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 d’une icône, vous devez inclure au moins un fichier .vsdir 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.

Regroupement des éléments de projetGrouping Project Items

Si vous souhaitez contiennent des groupes de modèles dans des dossiers de la ajouter un nouvel élément arborescence de boîte de dialogue, vous devez disposer des sous-répertoires sous le répertoire racine du modèle 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 est affichée 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.

L’ordre de priorité dans le segment de code détermine où ce répertoire 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, l’ordre de priorité est tout ce dont vous devez inclure afin que vos éléments s’afficheront dans 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 la 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 Active d’un modèle 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 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, selon le projet de modèle est créé, vous pouvez afficher un ensemble différent 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, supposons que vous avez des projets Web et projets de client dans un projet Visual Basic.For example, in a Visual Basic project, you might have Web projects and client projects. Web forms ne sont pas des éléments utiles à ajouter à un projet client, et les formulaires windows ne sont pas des éléments utiles à 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. Puis 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.

Le filtrage des éléments de projetFiltering 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 fichier .vsdir) fournie 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ée, aucun fichier .vsdir) fournie par IVsFilterAddProjectItemDlg.By the actual names of the files and folders on disk (non-localized — no .vsdir file) provided by IVsFilterAddProjectItemDlg.

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

    Pour filtrer par catégorie, fournissez une chaîne de catégorie pour un article dans le fichier .vsdir, tels que « Web form » ou « 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. Ensuite, le code de la boîte de dialogue récupère la classification de la catégorie à partir du fichier .vsdir et passe à 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 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 en 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 en tant que 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 des 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 de 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 les éléments dans les types et placer les classifications dans l’ou les fichiers .vsdir.You can simply classify items into types and put the classifications in the .vsdir file or files. Ensuite, vous pouvez masquer tous 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. De cette façon, vous pouvez apporter les éléments de la ajouter un nouvel élément dynamique de boîte de dialogue en fonction de l’état dans le 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
L’inscription des modèles de projet et élément Registering Project and Item Templates
CATID d’extendeurs pour les objets qui sont généralement utilisés pour étendre des projets CATIDs for Objects That Are Typically Used to Extend Projects
Ajout de projet et modèles d’élément de projet Adding Project and Project Item Templates
Description du modèle active (. Fichiers VSDir) Template Directory Description (.Vsdir) Files
Fichier Assistant (.Vsz)Wizard (.Vsz) File