Ho un progetto che genera testo (che rappresenta un'interfaccia e una classe) in base ai metadati. Vorrei prendere questo codice generato e inserirlo come una nuova classe e interfacciarlo direttamente nella soluzione attualmente aperta sotto un progetto e una directory specifici. Creerò lo strumento menu che genererà la classe, ma quello che non so come fare è ottenere l'accesso alle seguenti voci da dentro il mio personalizzato Visual Studio Estensione:Genera codice da un'estensione Visual Studio
- Itera la soluzione attuale e trovare un progetto per scaricare il codice generato in.
- Apre una nuova finestra di file in Visual Studio e inserisce il testo generato proveniente dal mio strumento direttamente in quella finestra.
- Creare una nuova cartella in un progetto specifico all'interno della soluzione corrente dall'interno personalizzato.
EDIT - Per chiarire che ho bisogno di aprire un nuovo file (ad esempio Fare clic destro su un progetto -> Aggiungi -> Nuova Classe) e inserire il testo in esso da dentro il mio personalizzato Visual Studio Extension.
Grazie
Hai pensato di usare modelli T4 invece di una proroga? È possibile creare i metadati come XML in un file .config ed eseguire il modello T4 per generare ogni classe/interfaccia. Tuttavia, funziona solo su una mappatura meta-generata 1-1. – DaveShaw
Sì, in realtà sto usando i modelli T4 per generare il codice ora, ma queste classi sono generate dai metadati all'interno di un database, quindi non voglio che esistano all'interno di un progetto, voglio essere in grado di consentire all'utente di dire quale tipo di classe loro vogliono e poi io genero il codice (usando T4) e restituisco una classe e un'interfaccia come testo, che mi lascia alle domande sopra. –
Ha senso inserire il modello T4 nello stesso punto in cui si utilizzerà il codice generato. – StingyJack