首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSX: ProjectFlavor VSTemplates VSTemplates?

VSX: ProjectFlavor VSTemplates VSTemplates?
EN

Stack Overflow用户
提问于 2010-02-10 11:10:03
回答 1查看 1K关注 0票数 1

在Visual Studio2005、2008和2010中,是否可以为特定ProjectFlavor的项目定义一个仅出现在“添加项”对话框中的项模板?如果可以的话,我不想弄乱所有其他不相关的项目的“添加项目”对话框。

似乎<ProjectType>CSharp</ProjectType>是一个固定的枚举,我找不到任何地方存放ProjectFlavor guid或其他内容。

我没有看到任何其他产品表现出这种克制的例子,但我想确认一下。

=====

好的,Aaron的技巧很有前途,但我的第一次尝试没有成功。

在.vstemplate中:

代码语言:javascript
复制
<TemplateData>
    <Name>MyProject A File</Name>
    <Description>MyProject A File to do stuff</Description>
    <Icon>A.ico</Icon>
    <TemplateID>TemplateID_A</TemplateID>
    <TemplateGroupID>MyTemplateGroupID</TemplateGroupID>
    <ProjectType>CSharp</ProjectType>
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    <SortOrder>20</SortOrder>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <DefaultName>Template_A.cs</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <ShowByDefault>false</ShowByDefault>
</TemplateData>
<TemplateContent>
    <ProjectItem ReplaceParameters="true">Template_A.cs</ProjectItem>
</TemplateContent>

在package.cs上:

代码语言:javascript
复制
// [ProvideProjectItem(typeof(MyProjectFactory), "MyTemplateGroupID", 
//    @"Templates\ProjectItems", 600)] // Took this out.

[ProvideProjectFactory(typeof(MyProjectFactory), 
    "My Project", "My Project Files (*.csproj);*.csproj", 
    null, null, @"Templates\Projects", 
    LanguageVsTemplate = "CSharp", 
    NewProjectRequireNewFolderVsTemplate = true, 
    TemplateGroupIDsVsTemplate="MyTemplateGroupID",
    TemplateIDsVsTemplate = "TemplateID_A,TemplateID_B")]
public sealed class MyPackage : Package { ... }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-11 02:49:43

是的,这是可能的,并且有一些“盒子里”的项目模板可以做到这一点。例如,您会注意到WPF项(页面、窗口、FlowDocument等)的C#或VB项模板。只有在使用WPF风格的项目时才会出现。

诀窍是在每个vstemplate文件中指定相同的TemplateGroupID,然后在项目风格的注册中指定相同的TemplateGroupID。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2234166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档