Esempio CodeModelMacros: utilizzo delle funzioni del modello di codice

Aggiornamento: novembre 2007

Questo esempio è costituito da un insieme di macro che utilizzano il modello di codice per eseguire utili attività. Le macro incluse sono le seguenti:

  • HierarchyGenerator   Genera un file HTML con una struttura di ereditarietà per le classi, le strutture e le interfacce di un progetto.

    La macro assembla innanzitutto un insieme di classi terminali, strutture o interfacce, elementi che non presentano tipi derivati. Questa operazione viene eseguita verificando che nessun altro elemento di codice presenti la classe, la struttura o l'interfaccia in questione nell'insieme di basi. Viene quindi generato un report HTML in cui sono elencati gli oggetti terminali con tutte le relative basi. La macro aggiunge il file al primo progetto della soluzione.

  • InterfaceDocGenerator   Genera documentazione HTML per le interfacce implementate di un progetto. Raccoglie i commenti dalle funzioni di classe che implementano i metodi di interfaccia.

    La macro enumera le interfacce contenute nell'insieme CodeModel.Interfaces e individua le classi che implementano ciascuna interfaccia. Per ciascuna classe viene ricercata l'implementazione dei metodi di interfaccia e vengono memorizzati i commenti in un file HTML.

  • UserTypeGenerator   Genera un file denominato usertype.dat contenente i nomi delle classi del progetto. Se si inserisce questo file nello stesso percorso in cui si trova devenv.exe, ad esempio c:\Programmi\Microsoft Visual Studio .NET 2003\Common7\IDE, nell'editor del codice sorgente ai nomi delle classi verrà applicato un colore particolare.

    La macro crea un file, denominato usertype.dat, con l'elenco dei nomi delle classi contenute nell'insieme CodeModel.Classes.

  • VirtualFunctionFinder   Aggiunge un commento TODO alle funzioni virtual trovate nel progetto.

    VirtualFunctionFinder trova le funzioni virtual dichiarate nel progetto verificando in modo ricorsivo le funzioni di ciascuna classe o struttura. Aggiunge quindi un commento a ciascuna di queste funzioni modificando la proprietà CodeFunction.Comment.

Nota sulla sicurezza:

Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti.

Per ottenere gli esempi e le istruzioni per l'installazione:

  • In Visual Studio scegliere Samples dal menu Guida.

    Per ulteriori informazioni, vedere Individuazione dei file di esempio.

  • La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.

  • È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Leggimi vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.

Installazione ed esecuzione dell'esempio

Per installare le macro

  1. Copiare il file CodeModelMacros.vsmacros nell'unità disco rigido.

  2. Avviare Visual Studio.

  3. Scegliere Macro dal menu Strumenti, quindi Esplora macro. Verrà aperta la finestra Esplora macro.

  4. Scegliere Macro dal menu Strumenti, quindi Carica progetto macro. Verrà aperta la finestra di dialogo Aggiungi progetto macro.

  5. Individuare il file CodeModelMacros.vsmacros e scegliere il pulsante Apri. Verrà caricato il file macro e verranno visualizzate le macro in Esplora macro.

  6. Espandere il nodo CodeModelMacros. Verrà visualizzato un modulo per ciascuna macro.

Per eseguire HierarchyGenerator

  1. Espandere il nodo HierarchyGenerator in Esplora macro.

  2. Fare doppio clic sulla macro HierarchyGenerator. Verrà eseguita la macro e verrà aggiunto un file HTML al primo progetto della soluzione.

Per eseguire InterfaceDocGenerator

  1. Espandere il nodo InterfaceDocGenerator in Esplora macro.

  2. Fare doppio clic sulla macro InterfaceDocGenerator. Verrà eseguita la macro e verrà aggiunto un file HTML al primo progetto della soluzione.

Per eseguire UserTypeGenerator

  1. Espandere il nodo UserTypeGenerator in Esplora macro.

  2. Fare doppio clic sulla macro UsertypeC. Verrà eseguita la macro e verrà creato un file usertype.dat nella directory principale dell'unità C:.

Per eseguire VirtualFunctionFinder

  1. Espandere il nodo VirtualFunctionFinder in Esplora macro.

  2. Fare doppio clic sulla macro MainVirtualFunctionFinder. Verrà eseguita la macro e verrà aggiunto un commento TODO alle funzioni virtual dichiarate nel progetto.

Parole chiave

Nell'esempio vengono illustrate le seguenti parole chiave:

CodeClass::Members; CodeElement.CodeTypeFromFullName; CodeElement::Children; CodeElement::FullName; CodeElement::Kind; CodeFunction::CanOverride; CodeFunction::Comment; CodeFunction::InfoLocation; CodeFunction::Name; CodeInterface::Name; CodeModel::CodeElements; CodeModel::Language; CodeNamespace::Members; CodeStruct::Members; CodeType::Bases; Project::CodeModel; Solution::Count; VCCodeBase::FullName; VCCodeBase::Name; VCCodeClass::Functions; VCCodeClass::ImplementedInterfaces; VCCodeClass::IsSelf; VCCodeClass::Name; VCCodeFunction::Attributes; VCCodeFunction::Comment; VCCodeFunction::IsVirtual; VCCodeInterface::Functions; VCCodeModel::Classes; VCCodeModel::Interfaces

Vedere anche

Altre risorse

Esempi del modello di codice