Description du répertoire de modèle (. Fichiers Vsdir)
Un fichier de description de répertoire de modèle (.vsdir) est un fichier texte qui permet l'environnement de (IDE) développement intégré aux dossiers d'affichage, les fichiers d'Assistant .vsz, et les fichiers modèles associés à votre projet dans les boîtes de dialogue. Le contenu contient un enregistrement par fichier ou dossier. Tous les fichiers de .vsdir dans un emplacement référencé sont fusionnés, bien qu'un seul fichier de .vsdir soit généralement fourni pour décrire plusieurs dossiers, les assistants, ou fichiers modèles.
Les dossiers (sous-répertoires), les fichiers référencés dans le fichier de .vsdir, et le fichier de .vsdir lui-même tout se trouvent dans le même répertoire. Lorsque l'IDE exécute l'Assistant ou affiche un dossier ou un fichier dans les boîtes de dialogue de Nouveau projet ou d' Ajouter un nouvel élément , l'IDE examine le répertoire qui contient les fichiers exécutés pour déterminer si un fichier de .vsdir est présent. Si un fichier de .vsdir est trouvé, l'IDE lit pour déterminer s'il contient une entrée pour le dossier ou le fichier exécuté ou affichés. Si une entrée est trouvée, l'IDE utilise les informations dans l'exécution de l'Assistant ou de l'affichage du contenu.
L'exemple de code suivant est à partir de le fichier SourceFiles.vsdir dans <EnvSDK> la clé de Registre de \BscPrj\BscPrj\BscPrjProjectItems\Source_Files :
HeaderFile.h|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#125|130|#126|0|0|0|#127
SourceFile.cpp|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#122|110|#123|0|0|0|#124
dans ce cas, deux enregistrements sont dans un fichier. Une nouvelle ligne (caractère de retour chariot) sépare chaque enregistrement. chaque ligne représente un autre type de fichier. un canal (|le caractère) sépare les champs dans chaque enregistrement. Un répertoire peut contenir plusieurs fichiers de .vsdir qui portent des noms de fichiers, ou vous pouvez avoir un fichier de .vsdir pour chaque type de fichier.
Champs
Le tableau suivant répertorie les champs spécifiés pour chaque enregistrement.
Champ |
Description |
---|---|
Nom du chemin d'accès relatif (RelPathName) |
Le nom du dossier, le modèle, ou le fichier .vsz, tel que HeaderFile.h ou MyWizard.vsz. ce champ peut également être un nom utilisé pour représenter un dossier. |
{clsidPackage} |
GUID du VSPackage qui permet d'accéder aux chaînes localisées, telles que LocalizedName, la description, IconResourceId, et SuggestedBaseName, dans les ressources bibliothèque de liens dynamiques satellites (DLL) du VSPackage. IconResourceId s'applique si DLLPath n'est pas fourni. Notes Ce champ est facultative à moins qu'une ou plusieurs des champs précédents soit un identificateur de ressource.Ce champ est généralement vide pour les fichiers de .vsdir qui correspondent à des tiers Assistant qui ne trouviez pas leur texte. |
LocalizedName |
le nom localisé du fichier modèle ou de l'Assistant. Ce champ peut être une chaîne ou un identificateur de ressource sous la forme « #ResID ». Ce nom est affichée dans la boîte de dialogue de Ajouter un nouvel élément . Notes Si LocalizedName est un identificateur de ressource, puis {clsidPackage} est requis. |
SortPriority |
Entier représentant la priorité relative de cet fichier modèle ou Assistant. Par exemple, si cet élément a la valeur 1, puis cet élément est affiché en regard d'autres éléments avec une valeur de 1 et avant la de tous les éléments avec une valeur de tri de 2 ou plus. La priorité de tri est relative aux éléments dans le même répertoire. Il peut y avoir plusieurs fichiers de .vsdir dans le même répertoire. dans ce cas, les éléments à partir de tous les fichiers de .vsdirdans ce répertoire sont fusionnés. Les éléments de priorité identique sont répertoriés dans l'ordre lexicographique respecte pas la casse du nom affiché. la fonction d' _wcsicmp est utilisée pour classer les éléments. Les éléments non décrits dans les fichiers de .vsdir incluent un nombre de priorité supérieur au nombre le plus élevée répertorié dans les fichiers de .vsdir. le résultat est que ces éléments sont à la fin de la liste affichée indépendamment de leur nom. |
Description |
la description localisée du fichier modèle ou de l'Assistant. Ce champ peut être une chaîne ou un identificateur de ressource sous la forme « #ResID ». Cette chaîne s'affiche dans la boîte de dialogue de Nouveau projet ou d' Ajouter un nouvel élément lorsque l'élément est sélectionné. |
DLLPath ou {clsidPackage} |
Utilisé pour charger une pour le fichier modèle ou l'Assistant. L'icône est chargée comme une ressource à partir d'un fichier .dll ou .exe à l'aide de l'IconResourceId. Ce fichier .dll ou .exe peut être identifié à l'aide d'un chemin d'accès complet ou à l'aide de le GUID d'un VSPackage. La DLL d'implémentation du VSPackage est utilisé pour charger l'icône (pas la DLL satellite). |
IconResourceId |
L'identificateur de ressource dans la DLL ou la DLL d'implémentation d'un VSPackage qui déterminent l'icône à afficher. |
balises (__VSDIRFLAGS) |
Utilisé pour désactiver ou activer les champs de Nom et d' Emplacement dans la boîte de dialogue d' Ajouter un nouvel élément . La valeur du champ de balises est l'équivalent de décimale de la combinaison des indicateurs requis de bits. Lorsqu'un utilisateur sélectionne un élément dans l'onglet de Nouveau , le projet détermine si le champ nom et le champ emplacement sont indiquées lorsque la boîte de dialogue d' Ajouter un nouvel élément est affichée pour la première fois. Un élément, via un fichier de .vsdir, peut contrôler uniquement si les champs sont activés et désactivés lorsque l'élément est sélectionné. |
SuggestedBaseName |
Représente le nom par défaut du fichier, l'Assistant, ou le modèle. Ce champ est une chaîne ou un identificateur de ressource sous la forme « #ResID ». L'IDE utilise cette valeur pour fournir un nom par défaut de l'élément. Cette valeur de base est ajoutée avec une valeur entière pour rendre le nom unique, tel que MyFile21.asp. Dans la liste précédente, la description, le DLLPath, l'IconResourceId, les indicateurs, et le SuggestedBaseNumber appliquent uniquement aux fichiers de modèle et de l'Assistant. ces champs ne s'appliquent pas aux dossiers. Cela est illustré dans le code dans le fichier de BscPrjProjectItems dans <EnvSDK> la clé de Registre de \BscPrj\BscPrj\BscPrjProjectItems. ce fichier contient trois enregistrements (un pour chaque dossier) avec quatre champs pour chaque enregistrement : RelPathName, {clsidPackage}, LocalizedName, et SortPriority. General|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#110|100 Source_Files|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#111|110 Env|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#112|120 |
Lorsque vous créez un fichier de l'Assistant, vous devez également considérer les points suivants.
Tout champ non obligatoire pour lequel il n'existe pas de données significatives doit contenir un zéro (0) en tant qu'espace réservé.
Si aucun nom localisé n'est fourni, le nom de chemin d'accès relatif est utilisé dans le fichier de l'Assistant.
DLLPath substitue le clsidPackage pour l'emplacement de l'icône.
Si aucune icône n'est définie, l'IDE remplace l'icône par défaut d'un fichier qui possède cette extension.
Si aucun nom de base proposé n'est fourni, « projet » est utilisé.
Si vous supprimez les fichiers, des dossiers, ou des fichiers modèles .vsz, vous devez également supprimer les enregistrements associés à partir de le fichier de .vsdir.