2013-06-13 11 views
6

Mój nowy projekt to moje pierwsze spojrzenie na WPF MVVM i WCF i lubię to, ale wygląda na to, że tworzę dużo plików, zawsze w tej samej podstawowej konfiguracji i strukturze.Jak zdefiniować szablon do dodawania wielu plików do projektu?

Zastanawiam się, czy ktoś ma sposób zdefiniowania jakiejś struktury folderów/projektów jako danych wejściowych i automatycznie tworzy różne POCO, widoki, modele, klasy usług i interfejsy, być może z pewnego rodzaju spójnym prefiksem dla pliku Nazwa.

Następnie programista może po prostu wejść i wyciąć kod, aby uzyskać dane.

Widziałem to, co jest swego rodzaju prawo pomysł:

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

Kolega zasugerował również plik wsadowy może być warta zbadania. Otwarte na wszystkie pomysły, dziękuję za pomoc.

UPDATE //

będzie się to odbywać po projekt został utworzony. Tak więc foldery i projekty są już gotowe, ale chcesz dodać niezbędne pliki do kompleksowej rozmowy serwisowej i prezentacji.

+0

Przeprowadziłem dalsze badania, ponieważ potrzebowałem tego samego. Wymyśliłem całkiem proste rozwiązanie, proszę zajrzyj do mojej zaktualizowanej odpowiedzi i daj mi znać, czy to działa dla Ciebie. – Marc

Odpowiedz

6

Można użyć Visual Studio szablon Item nie tylko dodać jeden plik, ale również dodać kilka pozycji i sortować je w swoim projekcie struktury folderu:

Jeśli utworzyć szablon elementu z VS, poprzez Plik -> Eksportuj szablon, otrzymasz spakowany folder. Można go rozpakować i dodać kilka plików, na przykład do momentu, gdy będzie wyglądać następująco: template folder

Następnie można zmodyfikować plik o nazwie "MyTemplate". Plik zgodnie z powyższym przykładzie wygląda następująco:

<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> 

myślę, co dzieje się tutaj jest dość oczywista.

Jest to bardzo pomocne w użyciu parametrów szablonu:

MSDN on Template Parameters

Wtedy właśnie zip całość ponownie i umieścić go w folderze użytkownika/Visual Studio XY/Templates. Zwróć uwagę, że szablony są eksportowane do folderu o nazwie MyExportedTemplates.

+0

Miałoby to miejsce po utworzeniu projektu. Tak więc foldery i projekty są już gotowe, ale chcesz dodać niezbędne pliki do kompleksowej rozmowy serwisowej i prezentacji. Myślę, że szablon jest używany przy tworzeniu projektu (rozwiązania), prawda? – GP24

+0

ItemTemplate (+ Macro) służy do dodawania plików do istniejącego projektu, szablony projektów są używane do dodawania nowych projektów do rozwiązania. – Marc

+0

To wygląda bardzo obiecująco, dzięki! Jestem teraz zalany, ale wkrótce niedługo się rozwiążę. – GP24

0

Pamiętam, że vs2010 może eksportować twój projekt do szablonu, dzięki czemu możesz obudować swoje foldery lub dane w projekcie i wyeksportować do szablonu.

Po wykonaniu tej czynności można utworzyć niestandardowy projekt z szablonu.

+0

Zostanie to wykonane po utworzeniu projektu. Tak więc foldery i projekty są już gotowe, ale chcesz dodać niezbędne pliki do kompleksowej rozmowy serwisowej i prezentacji. Myślę, że szablon jest używany przy tworzeniu projektu (rozwiązania), prawda? – GP24

+0

@ GP24, Szablon może zawierać również pliki z kodem, podstawowe odniesienia do liraży i tak dalej.Możesz użyć szablonu do enkapsulacji projektu GetStarting, aby kontynuować rozwijanie logiki biznesowej. – muzizongheng