自定义文件的 VS 2015 项目模板,能够在所有跨平台上添加 Project/SubProject
VS 2015 Item Template for custom file with ability to add on all cross-platform Project/SubProject
目前我的一个要求是将前缀为 .zbl 的特定文件添加到任何类型的项目中,例如 'Shared' 、'class library'、UWP 等等在。我正在使用 ITEM TEMPLATE Project.
遵循 VSIX 方法
问题是,当您在非 Class 图书馆项目时,您无法在项目 -> 添加新项目 -> 新建自定义项目中找到你的项目 "Page.zbl"
这个问题来自 HERE,因为 MSDN 说可以在 4 个类别中指定项目模板:Windows / Office /Database/Web
您也不能在模板文件中设置以上值中的一个以上,那么如何向 VS 2015 添加一个所有项目类型都可以访问的项目模板?
这是我的示例 VS ItemTemplate:
<VSTemplate Version="3.0.0" Type="Item">
<TemplateData>
<Name>Page1</Name>
<Description>An empty Zebble file</Description>
<Icon>zebble.ico</Icon>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>??????</ProjectSubType> : HERE IS THE ISSUE
<DefaultName>Page1.zbl</DefaultName>
</TemplateData>
<TemplateContent>
<ProjectItem>Page.zbl</ProjectItem>
</TemplateContent>
假设VS 2015[Update 3]是当前稳定的开发环境,首先让我们看看这些路径下的VS结构(win 10):
1/ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\
有一些文件夹代表当前 item-templates VS-IDE,据我测试,你不能在那里添加你的 cusotm 文件夹来分离你的模板,因此你需要 select 一个作为参考,例如 CSharp(TemplateID 需要这个),
2/ 接下来,您需要在 Item-Template 项目上为 TemplateData 节点设置以下配置:
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" **Type="Item"** xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>YOUR ITEM </Name>
<Description>Zebble Page Tempalte </Description>
<Icon>ZebblePageItemTemplate.ico</Icon>
**<ProjectType>CSharp</ProjectType>**
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
**<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>**
<DefaultName>Cross-platform Page.zbl</DefaultName>
**<TemplateID>Microsoft.CSharp.TextFile</TemplateID>**
**<AppliesTo>CSharp + WindowsXaml + WindowsXamlPage + WindowsXamlCodeBehind + MultiTarget</AppliesTo>**
<CreateInPlace>true</CreateInPlace>
<Hidden>false</Hidden>
<CreateNewFolder>true</CreateNewFolder>
<LocationField>Enabled</LocationField>
<SpecialTemplateType>EmptyShared</SpecialTemplateType>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
MyPage.zbl
3/ 其他配置应通过 属性 window 应用于模板属性和 Vsix 引用,如下所示:
最后你的结果是:
如果您看不到结果,您需要通过 运行 管理员模式下的 CMD 中的以下命令重新启动您的 VS
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>devenv /setup
目前我的一个要求是将前缀为 .zbl 的特定文件添加到任何类型的项目中,例如 'Shared' 、'class library'、UWP 等等在。我正在使用 ITEM TEMPLATE Project.
遵循 VSIX 方法问题是,当您在非 Class 图书馆项目时,您无法在项目 -> 添加新项目 -> 新建自定义项目中找到你的项目 "Page.zbl"
这个问题来自 HERE,因为 MSDN 说可以在 4 个类别中指定项目模板:Windows / Office /Database/Web
您也不能在模板文件中设置以上值中的一个以上,那么如何向 VS 2015 添加一个所有项目类型都可以访问的项目模板?
这是我的示例 VS ItemTemplate:
<VSTemplate Version="3.0.0" Type="Item">
<TemplateData>
<Name>Page1</Name>
<Description>An empty Zebble file</Description>
<Icon>zebble.ico</Icon>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>??????</ProjectSubType> : HERE IS THE ISSUE
<DefaultName>Page1.zbl</DefaultName>
</TemplateData>
<TemplateContent>
<ProjectItem>Page.zbl</ProjectItem>
</TemplateContent>
假设VS 2015[Update 3]是当前稳定的开发环境,首先让我们看看这些路径下的VS结构(win 10):
1/ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\
有一些文件夹代表当前 item-templates VS-IDE,据我测试,你不能在那里添加你的 cusotm 文件夹来分离你的模板,因此你需要 select 一个作为参考,例如 CSharp(TemplateID 需要这个),
2/ 接下来,您需要在 Item-Template 项目上为 TemplateData 节点设置以下配置:
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" **Type="Item"** xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>YOUR ITEM </Name>
<Description>Zebble Page Tempalte </Description>
<Icon>ZebblePageItemTemplate.ico</Icon>
**<ProjectType>CSharp</ProjectType>**
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
**<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>**
<DefaultName>Cross-platform Page.zbl</DefaultName>
**<TemplateID>Microsoft.CSharp.TextFile</TemplateID>**
**<AppliesTo>CSharp + WindowsXaml + WindowsXamlPage + WindowsXamlCodeBehind + MultiTarget</AppliesTo>**
<CreateInPlace>true</CreateInPlace>
<Hidden>false</Hidden>
<CreateNewFolder>true</CreateNewFolder>
<LocationField>Enabled</LocationField>
<SpecialTemplateType>EmptyShared</SpecialTemplateType>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
MyPage.zbl
3/ 其他配置应通过 属性 window 应用于模板属性和 Vsix 引用,如下所示:
最后你的结果是:
如果您看不到结果,您需要通过 运行 管理员模式下的 CMD 中的以下命令重新启动您的 VS
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>devenv /setup