Componenti di un progetto di componente aggiuntivo
I progetti di componente aggiuntivo sono progetti Libreria di classi creati tramite la Creazione guidata componente aggiuntivo e compilati in DLL.I progetti di componente aggiuntivo contengono un file di codice sorgente denominato Connect, che è anche il nome della classe.La classe Connect implementa un'interfaccia denominata IDTExtensibility2 che passa i comandi tra il componente aggiuntivo e l'ambiente di sviluppo integrato (IDE, Integrated Development Environment) di Visual Studio.
L'interfaccia IDTExtensibility2 dispone di cinque metodi che, se implementati, agiscono come eventi.
Metodo |
Descrizione |
---|---|
Questo metodo viene chiamato quando il componente aggiuntivo viene caricato in Visual Studio. |
|
Questo metodo viene chiamato una volta completato il caricamento da parte di Visual Studio. |
|
Questo metodo viene chiamato quando un componente aggiuntivo viene caricato o scaricato da Visual Studio. |
|
Questo metodo viene chiamato alla chiusura di Visual Studio. |
|
Questo metodo viene chiamato quando il componente aggiuntivo viene scaricato da Visual Studio. |
Oltre all'interfaccia IDTExtensibility2, anche l'interfaccia IDTCommandTarget viene implementata automaticamente se si sceglie l'opzione dell'interfaccia utente quando si utilizza la Creazione guidata componente aggiuntivo per creare un componente aggiuntivo.Se si sceglie di creare o modificare barre dei comandi nel componente aggiuntivo, è necessario implementare anche lo spazio dei nomi Microsoft.VisualStudio.CommandBars.
Metodo OnConnection
Il metodo OnConnection è il metodo più importante utilizzato nei progetti di componente aggiuntivo poiché viene chiamato a ogni caricamento di un componente aggiuntivo.Viene inoltre utilizzato per chiamare altro codice di automazione nel componente aggiuntivo.Al metodo OnConnection vengono passati quattro parametri: Application, ConnectMode, AddInInst e custom.Application rappresenta l'ambiente di sviluppo integrato (IDE) di Visual Studio.Viene sottoposto a cast come un oggetto DTE2 con il nome _applicationObject.Questo oggetto rappresenta l'oggetto principale del modello di automazione di base e consente di accedere a tutti i tipi e membri relativi.ConnectMode (i cui valori sono contenuti in Extensibility.extConnectMode) rappresenta la modalità di caricamento del componente aggiuntivo, ovvero tramite riga di comando, apertura di una soluzione e così via.AddInInst rappresenta il componente aggiuntivo stesso.Il parametro custom è una matrice in cui è possibile passare facoltativamente i dati al componente aggiuntivo.
Oltre all'inizializzazione di queste variabili, il metodo OnConnection contiene il codice necessario per creare un comando per il componente aggiuntivo nel menu Strumenti se questa opzione è stata selezionata al momento della creazione con la Creazione guidata componente aggiuntivo.
Altri metodi di componente aggiuntivo
Gli altri quattro metodi di componente aggiuntivo, creati mediante la Creazione guidata componente aggiuntivo, sono vuoti per impostazione predefinita.Per gestire gli eventi correlati ai componenti aggiuntivi e rispondere ad essi, è possibile utilizzare questi altri metodi.È ad esempio possibile aggiungere del codice al metodo OnAddInsUpdate per inviare un messaggio di notifica a un'altra routine alla chiusura di un componente aggiuntivo.È possibile chiamare il metodo OnBeginShutdown per eseguire attività di pulitura alla chiusura dell'IDE di Visual Studio.
Quando si crea un componente aggiuntivo e si seleziona l'opzione "Creare un'interfaccia utente con barra dei comandi per il componente aggiuntivo?" (tramite la quale viene creato un comando per il componente aggiuntivo nel menu Strumenti), viene implementata l'interfaccia IDTCommandTarget.Altri due metodi, QueryStatus e Exec, vengono aggiunti al progetto di componente aggiuntivo per gestire le attività del comando.In questi metodi è contenuta una piccola quantità di codice per favorire l'inserimento del comando nel menu Strumenti e la risposta alle selezioni di un utente.Il metodo QueryStatus comunica al componente aggiuntivo la disponibilità del comando.Il metodo Exec viene chiamato quando un utente sceglie il comando del componente aggiuntivo dal menu Strumenti. È pertanto in questa posizione che è necessario aggiungere codice per rispondere a quell'evento.