Dokumentacja schematu manifestu szablonu programu Visual Studio
W tym schemacie opisano format plików manifestu szablonu programu Visual Studio (vstman), które są generowane dla szablonów projektów lub elementów programu Visual Studio. Schemat opisuje również lokalizację i inne istotne informacje o szablonie.
: Ponieważ istnieją oddzielne katalogi elementów i szablonów projektu, manifest nigdy nie powinien mieć kombinacji szablonów elementów i projektów.
Ważne
Ten manifest jest dostępny od programu Visual Studio 2017.
VSTemplateManifest, element
Element główny manifestu.
Atrybuty
Wersja: ciąg reprezentujący wersję manifestu szablonu. Wymagany.
Ustawienia regionalne: ciąg reprezentujący ustawienia regionalne lub ustawienia regionalne manifestu szablonu. Wartość ustawień regionalnych ma zastosowanie do wszystkich szablonów. Należy użyć oddzielnego manifestu dla każdego ustawienia regionalnego. Opcjonalny.
Elementy podrzędne
VsTemplateContainer Opcjonalnie.
VsTemplateDir opcjonalne.
Element nadrzędny
Brak.
VSTemplateContainer
Kontener elementów manifestu szablonu. Manifest ma jeden kontener szablonu dla każdego zdefiniowanego szablonu.
Atrybuty
VSTemplateType: wartość ciągu określająca typ szablonu ("Project"
, "Item"
, lub "ProjectGroup"
). Wymagania
Elementy podrzędne
RelativePathOnDisk: ścieżka względna pliku szablonu na dysku. Ta lokalizacja definiuje również umieszczanie szablonu w drzewie szablonu wyświetlanym w oknie dialogowym Nowy projekt lub Nowy element . W przypadku szablonów wdrożonych jako katalog i pojedyncze pliki ta ścieżka odnosi się do katalogu zawierającego pliki szablonu. W przypadku szablonów wdrożonych jako plik zip ta ścieżka powinna być ścieżką do pliku zip .
**VSTemplateHeader: element TemplateData opisujący nagłówek.
Element nadrzędny
VSTemplateManifest
VSTemplateDir
Opisuje katalog, w którym znajduje się szablon. Manifest może zawierać wiele wpisów VSTemplateDir w celu zapewnienia zlokalizowanej nazwy i kolejności sortowania katalogów w celu kontrolowania ich wyglądu w drzewie kategorii szablonów.
Ze względu na ich projekt wpisy VSTemplateDir powinny być wyświetlane tylko w manifestach innych niż określone ustawienia regionalne.
Atrybuty
Brak.
Elementy podrzędne
RelativePath: ścieżka szablonu. Może istnieć tylko jeden wpis na ścieżkę, więc pierwszy z nich wygra wszystkie manifesty.
LocalizedName: element NameDescriptionIcon , który określa zlokalizowaną nazwę. Opcjonalny.
SortOrder: ciąg określający kolejność sortowania. Opcjonalny.
ParentFolderOverrideName: zastąpiona nazwa folderu nadrzędnego. Opcjonalny. Ten element ma atrybut Name , który jest wartością ciągu, która określa nazwę.
Element nadrzędny
VSTemplateManifest
NameDescriptionIcon
Określa nazwę i opis, prawdopodobnie dla zlokalizowanych szablonów. Zobacz LocalizedName powyżej.
Atrybuty
Pakiet: wartość ciągu określająca pakiet. Opcjonalny.
ID: wartość ciągu określająca identyfikator. Opcjonalny.
Elementy podrzędne
Brak.
Element nadrzędny
Localizedname
Przykłady
Poniższy kod jest przykładem pliku vstman szablonu projektu.
<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
<VSTemplateContainer TemplateType="Project">
<RelativePathOnDisk>CSharp\1033\TestProjectTemplate</RelativePathOnDisk>
<TemplateFileName>TestProjectTemplate.vstemplate</TemplateFileName>
<VSTemplateHeader>
<TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<Name>TestProjectTemplate</Name>
<Description>TestProjectTemplate</Description>
<Icon>TestProjectTemplate.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>aac0aeea-7883-4003-992f-937d53d70ab1</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>TestProjectTemplate</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
</VSTemplateHeader>
</VSTemplateContainer>
</VSTemplateManifest>
Poniższy kod jest przykładem pliku vstman szablonu elementu.
<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
<VSTemplateContainer TemplateType="Item">
<RelativePathOnDisk>CSharp\1033\ItemTemplate1</RelativePathOnDisk>
<TemplateFileName>ItemTemplate1.vstemplate</TemplateFileName>
<VSTemplateHeader>
<TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<Name>ItemTemplate1</Name>
<Description>ItemTemplate1</Description>
<Icon>ItemTemplate1.ico</Icon>
<TemplateID>bfeadf8e-a251-4109-b605-516b88e38c8d</TemplateID>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<DefaultName>Class.cs</DefaultName>
</TemplateData>
</VSTemplateHeader>
</VSTemplateContainer>
</VSTemplateManifest>