Procedura: definire e installare un'estensione di modellazione
In Visual Studio Ultimate è possibile definire estensioni per i diagrammi di modellazione. In questo modo, è possibile adattare i diagrammi e i modelli alle proprie necessità. È possibile ad esempio definire comandi di menu, profili UML, vincoli di convalida ed elementi della casella degli strumenti. È possibile definire diversi componenti in una singola estensione. È inoltre possibile distribuire queste estensioni ad altri utenti di Visual Studio Ultimate come estensioni Visual Studio Integration Extension (VSIX). È possibile creare un'estensione VSIX tramite un progetto VSIX in Visual Studio.
È necessario che sia installato Visual Studio SDK.
Requisiti
Visual Studio 2010 Visualization and Modeling SDK. Per ulteriori informazioni, vedere Visual Studio Visualization and Modeling SDK nel sito Web MSDN Code gallery.
Creazione di una soluzione di estensione di modello
Per definire un'estensione di modello, è necessario creare una soluzione contenente i progetti seguenti:
Un progetto VSIX (Visual Studio Integration Extension). Tramite questo progetto viene generato un file che funge da programma di installazione per i componenti dell'estensione. Nella finestra di dialogo Nuovo progetto espandere Visual Basic o Visual C#, quindi fare clic su Extensibility. Nella colonna centrale fare clic su Progetto VSIX.
Un progetto Libreria di classi, obbligatorio per i componenti che includono codice programma.
Se si desidera creare un'estensione che include diversi componenti, è possibile svilupparli in una singola soluzione. È necessario un solo progetto VSIX ed è possibile aggiungere i componenti come contenuto alla definizione VSIX.
I componenti che non richiedono codice, ad esempio gli elementi personalizzati della casella degli strumenti e i profili UML personalizzati, possono essere aggiunti direttamente al progetto VSIX senza utilizzare progetti separati. I componenti quali comandi di menu che richiedono codice programma possono essere definiti più facilmente in un progetto distinto.
Per configurare un progetto VSIX
Se si crea un componente con codice, è più semplice creare innanzitutto il progetto Libreria di classi. Il codice verrà aggiunto a tale progetto.
Creazione di un progetto VSIX.
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione, scegliere Aggiungi, quindi Nuovo progetto.
In Modelli installati espandere Visual Basic o Visual C#, quindi fare clic su Extensibility. Nella colonna centrale fare clic su Progetto VSIX.
Impostare il progetto VSIX come progetto di avvio della soluzione.
- In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto VSIX e scegliere Imposta come progetto di avvio.
Aprire source.extension.vsixmanifest. Il file verrà aperto nell'editor del manifesto.
Impostare il nome e i campi descrittivi del progetto VSIX.
Fare clic su Seleziona versioni e selezionare le edizioni di Visual Studio in cui si desidera eseguire l'estensione.
Aggiungere i componenti all'elenco Contenuto.
Fare clic su Aggiungi contenuto.
Per un componente con codice:
In Seleziona un tipo di contenuto selezionare Componente MEF.
In Selezionare un'origine fare clic su Progetto e selezionare il nome del progetto Libreria di classi.
Per altri tipi di componente, vedere i collegamenti nella sezione successiva.
Sviluppo del componente
Per ogni componente quale un comando di menu o un gestore movimenti, è necessario definire un gestore distinto. Nella tabella seguente viene fornito un riepilogo relativo ai diversi tipi di gestore.
Tipo di estensione |
Argomento |
Modalità di dichiarazione di ciascun componente |
---|---|---|
Comando di menu |
Procedura: definire un comando di menu in un diagramma di modellazione |
[ClassDesignerExtension] // or other diagram types [Export(typeof(ICommandExtension))] public class MyCommand : ICommandExtension {... |
Trascinare la selezione o fare doppio clic |
[ClassDesignerExtension] // or other diagram types [Export(typeof(IGestureExtension))] public class MyGesture : IGestureExtension {... |
|
Vincolo di convalida |
[Export(typeof( System.Action<ValidationContext, object>))] [ValidationMethod(ValidationCategories.Save | ValidationCategories.Menu)] public void ValidateSomething (ValidationContext context, IClassifier elementToValidate) {...} |
|
Gestore eventi per il collegamento elemento di lavoro |
Procedura: definire un gestore dei collegamenti agli elementi di lavoro |
[Export(typeof(ILinkedWorkItemExtension))] public class MyWorkItemEventHandler : ILinkedWorkItemExtension {... |
Profilo UML |
Non definito con il codice del programma. Al contrario, definire il tipo di componente in source.extension.vsixmanifest nel modo seguente. Tipo di componente = Estensione personalizzata Tipo = Microsoft.VisualStudio.UmlProfile |
|
Elemento della casella degli strumenti |
Procedura: definire un elemento personalizzato della Casella degli strumenti di modellazione |
Non definito con il codice del programma. Al contrario, definire il tipo di componente in source.extension.vsixmanifest nel modo seguente. Tipo di componente = Estensione personalizzata Tipo = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems |
Esecuzione di un'estensione durante lo sviluppo
Per eseguire un'estensione durante lo sviluppo
Scegliere Avvia debug dal menu Debug di Visual Studio.
Verrà eseguita la compilazione del progetto e una nuova istanza di Visual Studio verrà avviata in modalità sperimentale.
- In alternativa è possibile fare clic su Avvia senza eseguire debug. In questo modo si riduce il tempo necessario per l'avvio del programma.
Creare o aprire un progetto di modellazione nell'istanza sperimentale di Visual Studio e creare o aprire un diagramma.
L'estensione verrà caricata ed eseguita.
Se è stata utilizzata l'opzione Avvia senza eseguire debug ma si desidera utilizzare il debugger, tornare all'istanza principale di Visual Studio. Scegliere Connetti a processo dal menu Debug. Nella finestra di dialogo selezionare l'istanza sperimentale di Visual Studio con nome di programma devenv.
Per eseguire l'estensione nell'istanza principale di Visual Studio, seguire i passaggi in Installazione e disinstallazione di un'estensione.
Installazione e disinstallazione di un'estensione
È possibile installare un'estensione di Visual Studio sia nel computer in uso che in altri computer.
Per installare un'estensione
Nel computer trovare il file .vsix compilato dal progetto di estensione.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, quindi scegliere Apri cartella in Esplora risorse.
Individuare il file bin\*\Progetto.vsix
Copiare il file .vsix nel computer di destinazione in cui si desidera installare l'estensione. Si può trattare del computer in uso o di un altro computer.
- Nel computer di destinazione deve essere presente una delle versioni di Visual Studio specificata in source.extension.vsixmanifest.
Nel computer di destinazione fare doppio clic sul file .vsix.
Verrà visualizzato Visual Studio Extension Installer e verrà installata l'estensione.
Avviare o riavviare Visual Studio.
Per disinstallare un'estensione
Scegliere Gestione estensioni dal menu Strumenti.
Espandere Estensioni installate.
Selezionare l'estensione, quindi fare clic su Disinstalla.
Raramente, può verificarsi che un'estensione errata non venga caricata creando un rapporto nella finestra di errore. Tale estensione non viene però visualizzata in Gestione estensioni. In tal caso, è possibile rimuovere l'estensione eliminando il file dal percorso seguente, dove % LocalAppData% è in genere NomeUnità:\Users\NomeUtente\AppData\Local:
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions
Vedere anche
Concetti
Procedura: definire un profilo per estendere UML
Procedura: definire vincoli di convalida per i modelli UML
Procedura: definire un comando di menu in un diagramma di modellazione
Altre risorse
Procedura: definire un elemento personalizzato della Casella degli strumenti di modellazione