Beschrijving van template-directory (.Vsdir) bestanden

Een beschrijvingsbestand van de sjabloonmap (.vsdir) is een tekstbestand waarmee de integrated development environment (IDE) mappen, wizard .vsz-bestanden en sjabloonbestanden kan weergeven die aan uw project zijn gekoppeld in dialoogvensters. De inhoud bevat één record per bestand of map. Alle VSDIR-bestanden op een locatie waarnaar wordt verwezen, worden samengevoegd, hoewel er over het algemeen slechts één VSDIR-bestand wordt opgegeven om meerdere mappen, wizards of sjabloonbestanden te beschrijven.

Mappen (submappen), bestanden waarnaar wordt verwezen in het VSDIR-bestand en het VSDIR-bestand zelf bevinden zich allemaal in dezelfde map. Wanneer de IDE een wizard uitvoert of een map of bestand weergeeft in het dialoogvenster Nieuw project of het dialoogvenster Nieuw item toevoegen , onderzoekt de IDE de map met de uitgevoerde bestanden om te bepalen of een VSDIR-bestand aanwezig is. Als er een VSDIR-bestand wordt gevonden, leest de IDE het om te bepalen of het een vermelding bevat voor de uitgevoerde of weergegeven map of het bestand. Als er een vermelding wordt gevonden, gebruik de IDE de informatie voor het uitvoeren van de wizard of het weergeven van de inhoud.

Het volgende codevoorbeeld is afkomstig uit het bestand SourceFiles.vsdir in de <EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems\Source_Files registersleutel:

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

In dit geval bevinden twee records zich in één bestand. Met een nieuwe regel (regelterugloopteken) wordt elke record gescheiden. Elke regel vertegenwoordigt een ander bestandstype. Een pijpteken (|) scheidt de velden in elke record. Eén map kan meerdere VSDIR-bestanden met verschillende bestandsnamen bevatten, of u kunt één VSDIR-bestand voor elk bestandstype hebben.

Fields

De volgende tabel bevat de velden die voor elke record zijn opgegeven.

Veld Description
Relatieve padnaam (RelPathName) De naam van de map, sjabloon of .vsz-bestand, zoals HeaderFile.h of MyWizard.vsz. Dit veld kan ook een naam zijn die wordt gebruikt om een map weer te geven.
{clsidPackage} De GUID van de VSPackage die toegang biedt tot gelokaliseerde tekenreeksen, zoals LocalizedName, Description, IconResourceId en SuggestedBaseName, in de satelliet-DLL (Dynamic Link Library)-resources van de VSPackage. IconResourceId is van toepassing als DLLPath niet is opgegeven. Notitie: Dit veld is optioneel, tenzij een of meer van de vorige velden een resource-id is. Dit veld is doorgaans leeg voor VSDIR-bestanden die overeenkomen met wizards van derden die hun tekst niet lokaliseren.
GelokaliseerdeNaam De gelokaliseerde naam van het sjabloonbestand of de wizard. Dit veld kan een tekenreeks of een resource-id zijn van het formulier '#ResID'. Deze naam wordt weergegeven in het dialoogvenster Nieuw item toevoegen . Notitie: Als LocalizedName een resource-id is, is {clsidPackage} vereist.
Sorteerprioriteit Een geheel getal dat de relatieve prioriteit van dit sjabloonbestand of de wizard aangeeft. Als dit item bijvoorbeeld een waarde van 1 heeft, wordt dit item weergegeven naast andere items met een waarde van 1 en voor alle items met een sorteerwaarde van 2 of groter.

Sorteerprioriteit is relatief ten opzichte van de items in dezelfde map. Mogelijk is er meer dan één VSDIR-bestand in dezelfde map. In dat geval worden de items van alle .vsdir-bestanden in die map samengevoegd. Items met dezelfde prioriteit worden vermeld in hoofdlettergevoelige lexicografische volgorde van de weergegeven naam. De _wcsicmp functie wordt gebruikt om de items te orden.

Items die niet worden beschreven in VSDIR-bestanden bevatten een prioriteitsnummer dat groter is dan het hoogste prioriteitsnummer dat wordt vermeld in de VSDIR-bestanden. Het resultaat is dat deze items zich aan het einde van de weergegeven lijst bevinden, ongeacht hun naam.
Description De gelokaliseerde beschrijving van het sjabloonbestand of de wizard. Dit veld kan een tekenreeks of een resource-id zijn van het formulier '#ResID'. Deze tekenreeks wordt weergegeven in het dialoogvenster Nieuw project of Nieuw item toevoegen wanneer het item is geselecteerd.
DLLPath of {clsidPackage} Wordt gebruikt om een pictogram voor het sjabloonbestand of de wizard te laden. Het pictogram wordt geladen als een resource uit een .dll- of .exe-bestand met behulp van de IconResourceId. Dit .dll of .exe bestand kan worden geïdentificeerd met behulp van een volledig pad of met behulp van een GUID van een VSPackage. De implementatie-DLL van de VSPackage wordt gebruikt om het pictogram te laden (niet de satelliet-DLL).
IconResourceId De resource-id in het DLL- of VSPackage-implementatie-DLL-bestand dat het pictogram bepaalt dat moet worden weergegeven.
Vlaggen (__VSDIRFLAGS) Wordt gebruikt om de velden Naam en Locatie in te schakelen in het dialoogvenster Nieuw item toevoegen . De waarde van het veld Vlaggen is het decimale equivalent van de combinatie van vereiste bitvlagmen.

Wanneer een gebruiker een item selecteert op het tabblad Nieuw , bepaalt het project of het veld Naam en het veld Locatie worden weergegeven wanneer het dialoogvenster Nieuw item toevoegen voor het eerst wordt weergegeven. Een item, via een VSDIR-bestand, kan alleen bepalen of de velden zijn ingeschakeld versus uitgeschakeld wanneer het item is geselecteerd.
VoorgesteldeBasisNaam Vertegenwoordigt de standaardnaam voor het bestand, de wizard of de sjabloon. Dit veld is een tekenreeks of een resource-ID van de vorm '#ResID'. De IDE gebruikt deze waarde om een standaardnaam voor het item op te geven. Deze basiswaarde wordt toegevoegd met een geheel getal om de naam uniek te maken, zoals MyFile21.asp.

In de vorige lijst zijn Beschrijving, DLLPath, IconResourceId, Flags en SuggestedBaseNumber alleen van toepassing op sjabloon- en wizardbestanden. Deze velden zijn niet van toepassing op mappen. Dit feit wordt geïllustreerd in de code in het bestand BscPrjProjectItems in de <registersleutel EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems. Dit bestand bevat drie records (één voor elke map) met vier velden voor elke record: RelPathName, {clsidPackage}, LocalizedName en SortPriority.

General&#124;{E59935A1-6156-11d1-87A6-00A0C91E2A46}&#124;#110&#124;100

Source_Files&#124;{E59935A1-6156-11d1-87A6-00A0C91E2A46}&#124;#111&#124;110

Env&#124;{E59935A1-6156-11d1-87A6-00A0C91E2A46}&#124;#112&#124;120

Wanneer u een wizardbestand maakt, moet u ook rekening houden met de volgende problemen.

  • Een niet-vereist veld waarvoor geen zinvolle gegevens zijn, mag een 0 (nul) bevatten als tijdelijke aanduiding.

  • Als er geen gelokaliseerde naam wordt opgegeven, wordt de relatieve padnaam gebruikt in het wizardbestand.

  • DLLPath heeft voorrang op clsidPackage voor pictogramlocatie.

  • Als er geen pictogram is gedefinieerd, vervangt de IDE het standaardpictogram voor een bestand met die extensie.

  • Als er geen voorgestelde basisnaam wordt opgegeven, wordt Project gebruikt.

  • Als u de VSZ-bestanden, mappen of sjabloonbestanden verwijdert, moet u ook de bijbehorende records verwijderen uit het VSDIR-bestand.