自 Visual Studio 2019 版本 16.1 预览版 2 起,可以向项目模板添加语言、平台和项目类型标签。
“新建项目” 对话框中的两个位置使用了标签:
模板描述的下方将显示标签。
可以借助标签搜索和筛选模板。
可以通过更新 .vstemplate XML 文件来添加标签。 可以使用内置到 Visual Studio 中的模板标签,也可以创建自定义模板标签。 仅在 Visual Studio 2019“新建项目” 对话框中显示模板标签。 模板标签不会影响模板在 Visual Studio 早期版本中的呈现效果。
添加或编辑标签
执行以下任意操作时,可能需要在项目模板的 .vstemplate XML 中添加或编辑标签:
- 使用“导出模板”向导创建新的项目模板。
- 更新现有项目模板。
- 创建新的 VSIX 项目模板。
语法
<LanguageTag> Language Name </LanguageTag>
<PlatformTag> Platform Name </PlatformTag>
<ProjectTypeTag> Project Type </ProjectTypeTag>
特性
可以在高级用户场景中使用下面的可选属性:
特性 | 描述 |
---|---|
Package |
指定 Visual Studio 包 ID 的 GUID。 |
ID |
指定 Visual Studio 资源 ID。 |
语法:
<LanguageTag Package="{PackageID}" ID="ResourceID" />
<PlatformTag Package="{PackageID}" ID="ResourceID" />
<ProjectTypeTag Package="{PackageID}" ID="ResourceID" />
元素
子元素
无。
父元素
元素 | 描述 |
---|---|
TemplateData | (必需)将此模板分类并定义此模板在 “新建项目”或“添加新项” 对话框中的显示方式。 |
文本值
若未使用 Package
和 ID
属性,则必须提供文本值。
该文本提供模板的名称。
内置标签
Visual Studio 提供了一系列内置标签。 添加内置标签时,标签将呈现本地化资源。
以下列表显示在 Visual Studio 中可用的内置标签。 对应的值将显示在括号中。
语言标签 | 平台标签 | 项目类型标签 |
---|---|---|
C++ (cpp ) |
Android (android ) |
云 (cloud ) |
C# (csharp ) |
Azure (azure ) |
控制台 (console ) |
F# (fsharp ) |
iOS (ios ) |
桌面 (desktop ) |
Java (java ) |
Linux (linux ) |
扩展 (extension ) |
JavaScript (javascript ) |
macOS (macos ) |
游戏 (games ) |
Python (python ) |
tvOS (tvos ) |
IoT (iot ) |
查询语言 (querylanguage ) |
Windows (windows ) |
库 (library ) |
TypeScript (typescript ) |
Windows 应用 SDK (windowsappsdk ) |
机器学习 (machinelearning ) |
Visual Basic (visualbasic ) |
Xbox (xbox ) |
移动 (mobile ) |
XAML (xaml ) |
Office (office ) |
|
其他 (other ) |
||
服务 (service ) |
||
测试 (test ) |
||
UWP (uwp ) |
||
Web (web ) |
||
WinUI (winui ) |
示例
下面的示例说明了 Visual C# 应用程序的项目模板的元数据:
<VSTemplate Type="Project" Version="3.0.0"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My template</Name>
<Description>A basic template</Description>
<Icon>TemplateIcon.ico</Icon>
<ProjectType>csharp</ProjectType>
<LanguageTag>csharp</LanguageTag>
<PlatformTag>windows</PlatformTag>
<PlatformTag>linux</PlatformTag>
<PlatformTag>My Platform</PlatformTag>
<ProjectTypeTag>console</ProjectTypeTag>
<ProjectTypeTag>desktop</ProjectTypeTag>
</TemplateData>
<TemplateContent>
<Project File="MyTemplate.csproj">
<ProjectItem>Form1.cs<ProjectItem>
<ProjectItem>Form1.Designer.cs</ProjectItem>
<ProjectItem>Program.cs</ProjectItem>
<ProjectItem>Properties\AssemblyInfo.cs</ProjectItem>
<ProjectItem>Properties\Resources.resx</ProjectItem>
<ProjectItem>Properties\Resources.Designer.cs</ProjectItem>
<ProjectItem>Properties\Settings.settings</ProjectItem>
<ProjectItem>Properties\Settings.Designer.cs</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate>