8

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

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

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

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

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

一位同事还建议批处理文件可能值得研究。对所有想法开放,感谢您的帮助。

更新 //

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

4

2 回答 2

9

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

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

然后,您可以修改名为“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 关于模板参数

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

于 2013-06-13T07:39:39.310 回答
0

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

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

于 2013-06-13T05:53:32.437 回答