如何定义用于向项目添加多个文件的模板?

时间:2013-06-13 04:59:37

标签: visual-studio templates macros automation

我的新项目是我第一次看WPF MVVM和WCF,我喜欢它,但似乎我创建了很多文件,总是在相同的基本设置和结构中。

我想知道是否有人有办法将某种文件夹/项目结构定义为输入并自动创建各种POCO,视图,模型,服务类和接口,或许可以使用某种一致的文件名前缀

然后开发人员可以进入并剪切代码以获取他们的数据。

我看到了这个,这是一个正确的想法:

http://www.codeproject.com/Articles/16515/Creating-a-Custom-Tool-to-Generate-Multiple-Files

一位同事还建议批量文件可能值得调查。欢迎所有想法,谢谢你的帮助。

更新//

这将在项目创建后进行。因此文件夹和项目已经到位,但您希望为端到端服务调用和演示添加必要的文件。

2 个答案:

答案 0 :(得分:6)

您可以使用Visual Studio的项目模板来添加单个文件,还可以添加多个项目并在项目文件夹结构中对它们进行排序:

如果您使用VS创建项目模板,请通过文件 - >导出模板,你得到一个压缩文件夹。您可以解压缩并添加多个文件,例如,直到它看起来像这样: template folder

然后,您可以修改名为“MyTemplate”的文件。上例的相应文件如下所示:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>Enter Module Name here</DefaultName>
    <Name>INCA Module</Name>
    <Description>Creates all files for a module - Add this item at project root level only!</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code" TargetFileName="Models/$fileinputname$.cs" ReplaceParameters="true">ElementModel.cs</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="ViewModels$fileinputname$ViewModel.cs" ReplaceParameters="true">ElementViewModel.cs</ProjectItem>
    <ProjectItem SubType="Designer" TargetFileName="$fileinputname$View.xaml" ReplaceParameters="true">View.xaml</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$View.xaml.cs" ReplaceParameters="true">View.xaml.cs</ProjectItem>
    <ProjectItem SubType="Designer" TargetFileName="Metadata/$fileinputname$Metadata.xaml" ReplaceParameters="true">Metadata.xaml</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="Metadata/$fileinputname$Metadata.xaml.cs" ReplaceParameters="true">Metadata.xaml.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

我认为,这里发生的事情是非常自我解释的。

使用模板参数非常有用:

MSDN on Template Parameters

然后再将所有内容压缩并将其放在User / Visual Studio xy / Templates文件夹中。请注意,模板将导出到名为MyExportedTemplates的文件夹。

答案 1 :(得分:0)

我记得vs2010可以将您的项目导出到模板,因此您可以将文件夹或数据封装在项目中并导出到模板。

完成后,您可以从模板创建自定义项目。