Dela via


Beskrivning av mallkatalog (.Vsdir)-filer

En mallkatalogbeskrivningsfil (.vsdir) är en textfil som gör att den integrerade utvecklingsmiljön (IDE) kan visa mappar, guidens .vsz-filer och mallfiler som är associerade med projektet i dialogrutor. Innehållet består av en post per fil eller mapp. Alla .vsdir-filer på en refererad plats sammanfogas, men endast en .vsdir-fil tillhandahålls vanligtvis för att beskriva flera mappar, guider eller mallfiler.

Mappar (underkataloger), filer som refereras till i .vsdir-filen och själva .vsdir-filen finns alla i samma katalog. När IDE kör en guide eller visar en mapp eller fil i dialogrutorna Nytt projekt eller Lägg till nytt objekt undersöker IDE katalogen som innehåller de körda filerna för att avgöra om en .vsdir-fil finns. Om en .vsdir-fil hittas läser IDE den för att avgöra om den innehåller en post för den körda eller visade mappen eller filen. Om en post hittas använder IDE informationen i körningen av guiden eller visningen av innehållet.

Följande kodexempel kommer från filen SourceFiles.vsdir i registernyckeln <EnvSDK>\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

I det här fallet finns två poster i en fil. En ny rad (vagnreturtecken) separerar varje post. Varje rad representerar en annan filtyp. Ett pipe-tecken (|) separerar fält i varje post. En enskild katalog kan innehålla flera .vsdir-filer som har olika filnamn, eller så kan du ha en .vsdir-fil för varje filtyp.

Fields

I följande tabell visas de fält som angetts för varje post.

Fält Description
Relativ sökvägsnamn (RelPathName) Namnet på mappen, mallen eller .vsz-filen, till exempel HeaderFile.h eller MyWizard.vsz. Det här fältet kan också vara ett namn som används för att representera en mapp.
{clsidPackage} GUID för VSPackage som ger åtkomst till lokaliserade strängar, till exempel LocalizedName, Description, IconResourceId och SuggestedBaseName, i VSPackages DLL-resurser (Satellite Dynamic Link Library). IconResourceId gäller om DLLPath inte har angetts. Not: Det här fältet är valfritt om inte ett eller flera av de föregående fälten är en resursidentifierare. Det här fältet är vanligtvis tomt för .vsdir-filer som motsvarar guider från tredje part som inte lokaliserar texten.
LocalizedName Mallfilens eller guidens lokaliserade namn. Det här fältet kan vara en sträng eller en resursidentifierare för formuläret "#ResID". Det här namnet visas i dialogrutan Lägg till nytt objekt . Obs: Om LocalizedName är en resursidentifierare krävs {clsidPackage}.
Sorteringsprioritet Ett heltal som representerar den relativa prioriteten för den här mallfilen eller guiden. Om det här objektet till exempel har värdet 1 visas objektet bredvid andra objekt med värdet 1 och före alla objekt med ett sorteringsvärde på 2 eller större.

Sorteringsprioritet är relativ till objekten i samma katalog. Det kan finnas mer än en .vsdir-fil i samma katalog. I så fall objekten från alla .vsdir-filer i den katalogen sammanfogas. Objekt med samma prioritet listas i skiftlägesokänslig lexikografisk ordning för det visade namnet. Funktionen _wcsicmp används för att beställa objekten.

Objekt som inte beskrivs i .vsdir-filer innehåller ett prioritetsnummer som är större än det högsta prioritetsnummer som anges i .vsdir-filerna. Resultatet är att dessa objekt är i slutet av den visade listan oavsett namn.
Description Den lokaliserade beskrivningen av mallfilen eller guiden. Det här fältet kan vara en sträng eller en resursidentifierare för formuläret "#ResID". Den här strängen visas i dialogrutan Nytt projekt eller Lägg till nytt objekt när objektet är markerat.
DLLPath eller {clsidPackage} Används för att ladda en ikon för mallfilen eller guiden. Ikonen läses in som en resurs från en .dll eller .exe fil med hjälp av IconResourceId. Den här .dll- eller .exe-filen kan identifieras antingen med hjälp av en fullständig sökväg eller med hjälp av ett GUID för en VSPackage. Implementerings-DLL för VSPackage används för att läsa in ikonen (inte satellit-DLL).
IconResourceId Resursidentifieraren i DLL- eller VSPackage-implementerings-DLL som avgör vilken ikon som ska visas.
Flaggor (__VSDIRFLAGS) Används för att inaktivera eller aktivera fälten Namn och Plats i dialogrutan Lägg till nytt objekt . Värdet för fältet Flaggor är decimalmotsvarigheten för kombinationen av nödvändiga bitflaggor.

När en användare väljer ett objekt på fliken Nytt avgör projektet om fältet Namn och fältet Plats visas när dialogrutan Lägg till nytt objekt först visas. Ett objekt kan via en .vsdir-fil endast styra om fälten är aktiverade jämfört med inaktiverade när objektet är markerat.
SuggestedBaseName Representerar standardnamnet för filen, guiden eller mallen. Det här fältet är antingen en sträng eller en resursidentifierare för formuläret "#ResID". IDE använder det här värdet för att ange ett standardnamn för objektet. Det här basvärdet läggs till med ett heltalsvärde för att göra namnet unikt, till exempel MyFile21.asp.

I föregående lista gäller Beskrivning, DLLPath, IconResourceId, Flaggor och SuggestedBaseNumber endast för mall- och guidefiler. De här fälten gäller inte för mappar. Det här faktumet illustreras i koden i BscPrjProjectItems-filen i registernyckeln <EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems. Den här filen innehåller tre poster (en för varje mapp) med fyra fält för varje post: RelPathName, {clsidPackage}, LocalizedName och 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

När du skapar en guidefil bör du även överväga följande problem.

  • Alla fält som inte krävs för vilka det inte finns några meningsfulla data ska innehålla 0 (noll) som platshållare.

  • Om inget lokaliserat namn anges används det relativa sökvägsnamnet i guidefilen.

  • DLLPath åsidosätter clsidPackage för ikonplats.

  • Om ingen ikon har definierats ersätter IDE standardikonen för en fil som har tillägget.

  • Om inget föreslaget basnamn anges används "Project".

  • Om du tar bort .vsz-filerna, mapparna eller mallfilerna måste du också ta bort deras associerade poster från .vsdir-filen.