Soubory popisu adresáře šablon (.Vsdir)
Soubor popisu adresáře šablony (.vsdir) je textový soubor, který umožňuje integrované vývojové prostředí (IDE) zobrazovat složky, průvodce soubory .vsz a soubory šablon, které jsou přidružené k vašemu projektu v dialogových oknech. Obsah obsahuje jeden záznam na soubor nebo složku. Všechny soubory .vsdir v odkazovaném umístění jsou sloučeny, i když je obecně k dispozici pouze jeden soubor .vsdir pro popis více složek, průvodců nebo souborů šablon.
Složky (podadresáře), soubory odkazované v souboru .vsdir a samotný soubor .vsdir jsou umístěny ve stejném adresáři. Když integrované vývojové prostředí spustí průvodce nebo zobrazí složku nebo soubor v dialogových oknech Nový projekt nebo Přidat novou položku , integrované vývojové prostředí zkontroluje adresář, který obsahuje spuštěné soubory, a určí, zda je k dispozici soubor .vsdir. Pokud je nalezen soubor .vsdir, integrované vývojové prostředí ho přečte a určí, zda obsahuje položku pro spuštěnou nebo zobrazenou složku nebo soubor. Pokud se položka najde, integrované vývojové prostředí (IDE) použije informace při spuštění průvodce nebo zobrazení obsahu.
Následující příklad kódu pochází ze souboru SourceFiles.vsdir v <klíči registru EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems\Source_Files klíč registru:
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
V tomto případě jsou dva záznamy v jednom souboru. Nový řádek (znak návratu na začátek řádku) odděluje každý záznam. Každý řádek představuje jiný typ souboru. Znak svislé roury (|) odděluje pole v každém záznamu. Jeden adresář může obsahovat více souborů .vsdir, které mají různé názvy souborů, nebo můžete mít jeden soubor .vsdir pro každý typ souboru.
Pole
Následující tabulka uvádí pole zadaná pro každý záznam.
Pole | Popis |
---|---|
Relativní název cesty (RelPathName) | Název složky, šablony nebo souboru .vsz, například HeaderFile.h nebo MyWizard.vsz. Toto pole může být také názvem, který představuje složku. |
{clsidPackage} | Identifikátor GUID balíčku VSPackage, který umožňuje přístup k lokalizovaných řetězcům, jako jsou LocalizedName, Description, IconResourceId a SuggestedBaseName, v prostředcích knihovny DLL (Satellite Dynamic Link Library) VSPackage. IconResourceId se použije, pokud není zadána cesta DLLPath. Poznámka: Toto pole je volitelné, pokud jedno nebo více předchozích polí není identifikátor zdroje. Toto pole je obvykle prázdné pro soubory .vsdir, které odpovídají průvodcům třetích stran, kteří nelokalizují jejich text. |
LocalizedName | Lokalizovaný název souboru nebo průvodce šablony. Toto pole může být řetězec nebo identifikátor zdroje formuláře "#ResID". Tento název se zobrazí v dialogovém okně Přidat novou položku . Poznámka: Pokud je LocalizedName identifikátorem prostředku, je vyžadováno {clsidPackage}. |
SortPriority | Celé číslo představující relativní prioritu tohoto souboru šablony nebo průvodce. Pokud má například tato položka hodnotu 1, zobrazí se tato položka vedle jiných položek s hodnotou 1 a před všemi položkami s hodnotou 2 nebo větší. Priorita řazení je relativní vzhledem k položkám ve stejném adresáři. Ve stejném adresáři může být více než jeden soubor .vsdir. V takovém případě položky ze všech .Soubory vsdir v daném adresáři jsou sloučeny. Položky se stejnou prioritou jsou uvedeny v lexikálním pořadí zobrazovaného názvu bez rozlišování velkých a malých písmen. Funkce _wcsicmp slouží k seřazení položek.Položky, které nejsou popsány v souborech .vsdir, obsahují číslo priority větší než číslo nejvyšší priority uvedené v souborech .vsdir. Výsledkem je, že tyto položky jsou na konci zobrazeného seznamu bez ohledu na jejich název. |
Popis | Lokalizovaný popis souboru šablony nebo průvodce. Toto pole může být řetězec nebo identifikátor zdroje formuláře "#ResID". Tento řetězec se zobrazí v dialogovém okně Nový projekt nebo Přidat novou položku , když je položka vybrána. |
DLLPath nebo {clsidPackage} | Slouží k načtení ikony pro soubor šablony nebo průvodce. Ikona se načte jako prostředek ze souboru .dll nebo .exe pomocí IconResourceId. Tento soubor .dll nebo .exe lze identifikovat buď pomocí úplné cesty, nebo pomocí GUID balíčku VSPackage. Implementační knihovna DLL balíčku VSPackage se používá k načtení ikony (nikoli satelitní knihovny DLL). |
IconResourceId | Identifikátor prostředku v knihovně DLL nebo knihovně DLL implementace balíčku VSPackage, která určuje ikonu, která se má zobrazit. |
Příznaky (__VSDIRFLAGS) | Slouží k zakázání nebo povolení polí Název a Umístění v dialogovém okně Přidat novou položku . Hodnota pole Příznaky je desítková ekvivalent kombinace požadovaných bitových příznaků. Když uživatel vybere položku na kartě Nový, projekt určí, zda se při prvním zobrazení dialogového okna Přidat novou položku zobrazí pole Název a Pole Umístění. Položka prostřednictvím souboru .vsdir může řídit pouze to, zda jsou pole povolena a zakázána při výběru položky. |
SuggestedBaseName | Představuje výchozí název souboru, průvodce nebo šablony. Toto pole je řetězec nebo identifikátor zdroje formuláře "#ResID". Integrované vývojové prostředí (IDE) používá tuto hodnotu k zadání výchozího názvu položky. Tato základní hodnota je připojena s celočíselnou hodnotou, aby byl název jedinečný, například MyFile21.asp. V předchozím seznamu se popis, DLLPath, IconResourceId, Flags a SuggestedBaseNumber vztahují pouze na soubory šablony a průvodce. Tato pole se nevztahují na složky. Tento fakt je znázorněn v kódu v souboru BscPrjProjectItems v <klíči registru EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems. Tento soubor obsahuje tři záznamy (jeden pro každou složku) se čtyřmi poli pro každý záznam: RelPathName, {clsidPackage}, LocalizedName a 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 |
Při vytváření souboru průvodce byste měli zvážit také následující problémy.
Jakékoli nepožadované pole, pro které neexistují žádná smysluplná data, by mělo jako zástupný symbol obsahovat hodnotu 0 (nula).
Pokud není zadaný žádný lokalizovaný název, použije se v souboru průvodce relativní cesta.
DllPath přepisuje clsidPackage pro umístění ikony.
Pokud není definována žádná ikona, integrované vývojové prostředí nahradí výchozí ikonu souboru, který má tuto příponu.
Pokud není zadaný žádný navrhovaný základní název, použije se projekt.
Pokud odstraníte soubory .vsz, složky nebo soubory šablon, musíte také odebrat jejich přidružené záznamy ze souboru .vsdir.