Freigeben über


Vorlagenverzeichnisbeschreibung (. Vsdir) Dateien

Eine Vorlagenverzeichnisbeschreibungsdatei (VSDIR) ist eine Textdatei, mit der die integrierte Entwicklungsumgebung (IDE) Ordner, Vsz-Dateien des Assistenten und Vorlagendateien anzeigen kann, die Ihrem Projekt in Dialogfeldern zugeordnet sind. Der Inhalt enthält einen Datensatz pro Datei oder Ordner. Alle VSDIR-Dateien an einem referenzierten Speicherort werden zusammengeführt, obwohl in der Regel nur eine VSDIR-Datei bereitgestellt wird, um mehrere Ordner, Assistenten oder Vorlagendateien zu beschreiben.

Ordner (Unterverzeichnisse), Dateien, auf die in der VSDIR-Datei verwiesen wird, und die VSDIR-Datei selbst befinden sich alle im selben Verzeichnis. Wenn die IDE einen Assistenten ausführt oder einen Ordner oder eine Datei in den Dialogfeldern "Neues Projekt hinzufügen" oder " Neues Element hinzufügen " anzeigt, überprüft die IDE das Verzeichnis, das die ausgeführten Dateien enthält, um zu bestimmen, ob eine VSDIR-Datei vorhanden ist. Wenn eine VSDIR-Datei gefunden wird, liest die IDE sie vor, um zu bestimmen, ob sie einen Eintrag für den ausgeführten oder angezeigten Ordner oder die angezeigte Datei enthält. Wenn ein Eintrag gefunden wird, verwendet die IDE die Informationen in der Ausführung des Assistenten oder der Anzeige des Inhalts.

Das folgende Codebeispiel stammt aus der Datei "SourceFiles.vsdir" im <Registrierungsschlüssel "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

In diesem Fall befinden sich zwei Datensätze in einer Datei. Ein neues Zeilenzeichen (Wagenrücklaufzeichen) trennt jeden Datensatz. Jede Zeile stellt einen anderen Dateityp dar. Ein Pipezeichen (|) trennt Felder in jedem Datensatz. Ein einzelnes Verzeichnis kann mehrere VSDIR-Dateien mit unterschiedlichen Dateinamen enthalten, oder Sie können eine VSDIR-Datei für jeden Dateityp haben.

Felder

In der folgenden Tabelle sind die für jeden Datensatz angegebenen Felder aufgeführt.

Feld Description
Relativer Pfadname (RelPathName) Der Name des Ordners, der Vorlage oder der VSZ-Datei, z. B. HeaderFile.h oder MyWizard.vsz. Dieses Feld kann auch ein Name sein, der zum Darstellen eines Ordners verwendet wird.
{clsidPackage} Die GUID des VSPackage, die den Zugriff auf lokalisierte Zeichenfolgen wie "LocalizedName", "Description", "IconResourceId" und "SuggestedBaseName" in den Satelliten-DLL-Ressourcen (Dynamic Link Library) des VSPackage ermöglicht. IconResourceId gilt, wenn DLLPath nicht angegeben wird. Anmerkung: Dieses Feld ist optional, es sei denn, eines oder mehrere der vorherigen Felder sind ein Ressourcenbezeichner. Dieses Feld ist in der Regel für .vsdir-Dateien leer, die mit Assistenten von Drittanbietern verwendet werden, die ihren Text nicht lokalisieren.
LocalizedName Der lokalisierte Name der Vorlagendatei oder des Assistenten. Dieses Feld kann eine Zeichenfolge oder ein Ressourcenbezeichner des Formulars "#ResID" sein. Dieser Name wird im Dialogfeld " Neues Element hinzufügen " angezeigt. Anmerkung: Wenn "LocalizedName" ein Ressourcenbezeichner ist, ist {clsidPackage} erforderlich.
Sortierpriorität Eine ganze Zahl, die die relative Priorität dieser Vorlage oder des Assistenten darstellt. Wenn dieses Element beispielsweise den Wert 1 aufweist, wird dieses Element neben anderen Elementen mit dem Wert 1 und vor allen Elementen mit einem Sortierwert von 2 oder höher angezeigt.

Die Sortierpriorität ist relativ zu den Elementen im selben Verzeichnis. Es kann mehrere VSDIR-Dateien im selben Verzeichnis geben. In diesem Fall werden die Elemente aus allen .vsdir-Dateien in diesem Verzeichnis zusammengeführt. Elemente mit der gleichen Priorität werden in lexikografischer Reihenfolge des angezeigten Namens ohne Berücksichtigung der Groß-/Kleinschreibung aufgeführt. Die _wcsicmp Funktion wird verwendet, um die Elemente zu sortieren.

Elemente, die in VSDIR-Dateien nicht beschrieben werden, enthalten eine Prioritätsnummer, die größer als die in den VSDIR-Dateien aufgeführte Höchste Prioritätsnummer ist. Das Ergebnis ist, dass sich diese Elemente unabhängig von ihrem Namen am Ende der angezeigten Liste befinden.
Description Die lokalisierte Beschreibung der Vorlagendatei oder des Assistenten. Dieses Feld kann eine Zeichenfolge oder ein Ressourcenbezeichner des Formulars "#ResID" sein. Diese Zeichenfolge wird im Dialogfeld "Neues Projekt " oder " Neues Element hinzufügen " angezeigt, wenn das Element ausgewählt ist.
DLLPath oder {clsidPackage} Wird verwendet, um ein Symbol für eine Vorlagendatei oder einen Assistenten zu laden. Das Symbol wird mithilfe der IconResourceId als Ressource aus einer .dll- oder .exe-Datei geladen. Diese .dll- oder .exe Datei kann entweder mithilfe eines vollständigen Pfads oder mithilfe einer GUID eines VSPackage identifiziert werden. Die Implementierungs-DLL des VSPackage wird verwendet, um das Symbol (nicht die Satelliten-DLL) zu laden.
IconResourceId Der Ressourcenbezeichner in der DLL- oder VSPackage-Implementierungs-DLL, die das anzuzeigende Symbol bestimmt.
Flags (__VSDIRFLAGS) Wird verwendet, um die Felder "Name " und " Speicherort " im Dialogfeld " Neues Element hinzufügen " zu deaktivieren oder zu aktivieren. Der Wert des Felds "Flags " ist die Dezimalentsprechung der Kombination der erforderlichen Bitkennzeichnungen.

Wenn ein Benutzer ein Element auf der Registerkarte "Neu " auswählt, bestimmt das Projekt, ob das Feld "Name" und das Feld "Ort" angezeigt werden, wenn das Dialogfeld " Neues Element hinzufügen " zum ersten Mal angezeigt wird. Ein Element kann über eine VSDIR-Datei nur steuern, ob die Felder aktiviert oder deaktiviert sind, wenn das Element ausgewählt wird.
SuggestedBaseName Stellt den Standardnamen für die Datei, den Assistenten oder die Vorlage dar. Dieses Feld ist entweder eine Zeichenfolge oder ein Ressourcenbezeichner des Formulars "#ResID". Die IDE verwendet diesen Wert, um einen Standardnamen für das Element bereitzustellen. Dieser Basiswert wird mit einem ganzzahligen Wert angefügt, um den Namen eindeutig zu machen, z. B. MyFile21.asp.

In der vorherigen Liste gelten Beschreibung, DLLPath, IconResourceId, Flags und SuggestedBaseNumber nur für Vorlagen- und Assistentendateien. Diese Felder gelten nicht für Ordner. Diese Tatsache wird anhand des Codes in der Datei "BscPrjProjectItems" im Registrierungsschlüssel "<EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems" veranschaulicht. Diese Datei enthält drei Datensätze (eine für jeden Ordner) mit vier Feldern für jeden Datensatz: RelPathName, {clsidPackage}, LocalizedName und 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

Wenn Sie eine Assistentendatei erstellen, sollten Sie auch die folgenden Aspekte berücksichtigen.

  • Jedes nicht erforderliche Feld, für das keine aussagekräftigen Daten vorhanden sind, sollte als Platzhalter 0 (Null) enthalten.

  • Wenn kein lokalisierter Name angegeben wird, wird der relative Pfadname in der Datei des Assistenten verwendet.

  • DLLPath überschreibt clsidPackage für den Symbolspeicherort.

  • Wenn kein Symbol definiert ist, ersetzt die IDE das Standardsymbol für eine Datei mit dieser Erweiterung.

  • Wenn kein vorgeschlagener Basisname angegeben wird, wird "Project" verwendet.

  • Wenn Sie die VSZ-Dateien, Ordner oder Vorlagendateien löschen, müssen Sie auch die zugehörigen Datensätze aus der VSDIR-Datei entfernen.