2012-01-13 14 views
6

Quando scrivo i miei API per le applicazioni ho sempre seguono un modello di serie (che pretende molto !?) che assomiglia a questo:C'è un modo per generare più file attraverso un modello/macro con Resharper?

User (Folder/Namespace) 
    User.cs 
    UserDao.cs 
    UserDaoFactory.cs 
    UserService.cs 
    UserServiceFactory.cs 

So ReSharper ha modelli di file che già utilizzano, ma sarebbe bello se Non ho dovuto aggiungere singolarmente ogni file che può diventare estremamente noioso quando lavori con 30 entità in un'app. Se non riesci a farlo con resharper, c'è comunque qualche possibilità di creare una specie di macro con Visual Studio che eseguirà i tuoi modelli di file di resharper?

+1

Che sfortunatamente non funzionerà con ReSharper, è necessario creare i propri modelli di Visual Studio. [Questo collegamento] (http://msdn.microsoft.com/en-us/library/6db0hwky%28VS.80%29.aspx) dovrebbe aiutarti a iniziare. – Nuffin

risposta

6
  1. Crea tutte queste classi in un unico file (creare un modello di file che contiene l'insieme di classi standard, se si vuole)
  2. Scrivi la logica
  3. Press Shift + Alt + L a mettere fuoco sul file in Esplora soluzioni
  4. Press Ctrl + Maiusc + R per visualizzareRefactor questo menu con una lista di refactoring applicabili.
  5. Selezionare Spostare i tipi nei file corrispondenti, completare la procedura guidata di refactoring e osservare le classi che si separano in singoli file.
  6. Per inserire tutte le classi appena create in una cartella, selezionarle in Esplora soluzioni e richiamare di nuovo Refactor questo.
  7. Questa volta, selezionare Sposta nella cartella.
  8. Specificare il nome della nuova cartella nella procedura guidata di refactoring, premere Creare questa cartella e completare la procedura guidata.
+0

Non è più semplice inserire il file nella cartella _prima di rifarlo? Come, quando si sceglie la posizione per la creazione del nuovo file? – Nuffin

+0

Anche iniziare con una nuova cartella va bene, purché si sappia dove esattamente dovrebbe essere posizionato. Con le funzionalità di refactoring del progetto di ReSharper, puoi permetterti di non essere sicuro) – gorohoroh

+0

Mentre apprezzo questa risposta (+1), non fornisce ancora abbastanza automazione per quanto spesso lo faccio. Sto cercando qualcosa che farebbe essenzialmente clic destro in una cartella in solution explorer, scegliendo il mio tipo di file da quel menu, inserendo il nome della classe base (Utente nel mio esempio) e genererebbe la cartella e tutti i file sopra più il codice boilerplate. – SventoryMang

0

Vorrei prendere in considerazione l'utilizzo di modelli .tt con ReSharper.

  1. creare il file master con ReSharper.
  2. utilizzando uno o più file tt per generare automaticamente file dipendenti (.partial.cs) con una parola chiave parziale.
  3. estendere le classi generate se necessario.
2

Sembra R # 8 ha aggiunto questa caratteristica

Dal Resharper Help Page

A partire da ReSharper 8.0, ciascun modello di file può aggiungere più di un file quando viene applicata. Questo> potrebbe essere utile per WPF, Web e altri progetti in cui i dati correlati possono essere salvati in file diversi.

qui ci sono alcune cose che dovete sapere sui modelli multi-file:

  • un modello di file comprendono sempre un file principale, e, facoltativamente, qualsiasi numero di file secondari. Quindi, non appena aggiungi un file secondario a un modello di file, ottieni un modello multi-file.
  • Quando si aggiunge un file secondario , è possibile fare riferimento a qualsiasi modello di file esistente (aggiungere il file dall'opzione modello esistente). Si noti che se il modello di riferimento ha anche più file, verrà aggiunto solo il file principale del modello di riferimento quando si applica il modello.
  • Il set di parametri comprende tutti i file di un modello multi-file. Ad esempio, se si utilizza lo stesso parametro $ PARAM $ in diversi file di un modello multi-file, avrà lo stesso valore in tutti i file correlati quando il modello è applicato a .
  • Se i modelli multi-file hanno parametri modificabili, la sessione Spot Hot , che distribuisce quando si applica questo modello, guiderà lo attraverso tutti i file creati in cui è richiesto l'input dell'utente.
Problemi correlati