Condividi tramite


Creando pagine di opzioni utilizzando l'automazione

Vspackage gestito può utilizzare l'automazione per estendere l'ambiente di sviluppo integrato di (IDE) Visual Studio aggiungendo le pagine di opzioni al menu di strumenti .

Una pagina di Opzioni degli strumenti è fondamentalmente un controllo utente e è codificata come qualsiasi altro controllo utente. In genere, si utilizza una delle finestre di progettazione dell'IDE di Visual Studio per creare l'oggetto e aggiungere i controlli utente.

Nota

Le pagine diOpzioni degli strumenti implementate come finestra di dialogo, utilizzando DialogProc per gestire i messaggi di windows, devono essere finestre di dialogo non modale e non devono chiamare la funzione di EndDialog .

È necessario utilizzare l'oggetto ActiveX che il package VS fornisce all'ambiente alle proprietà del controllo utente di supporto.

Supporto di automazione per le pagine Strumenti Opzioni distribuite con gli assembly di interoperabilità

Per supportare il modello di automazione, un VSPackage necessario creare e registrare un oggetto di automazione. Per ulteriori informazioni, vedere Fornendo automazione per package VS..

Quando il codice che utilizza il modello di automazione chiama DTE.Properties per la raccolta delle proprietà di pagina specificata di Opzioni degli strumenti , l'ide utilizza l'oggetto ActiveX fornito dall'implementazione del package VS di GetAutomationObject per restituire la raccolta e per consentire l'accesso ai relativi oggetti che fanno parte di Property .

Nota l'oggetto ActiveX restituito da GetAutomationObject dipende dal GUID fornito (come un VSPackage può supportare più di un oggetto ActiveX). Per ulteriori informazioni sulla distribuzione degli oggetti di automazione, vedere Supporto di automazione per le pagine di opzioni.

Una pagina di Opzioni degli strumenti viene specificata da due identificatori. Il primo identificatore è una stringa che indica la cartella contenente l'elemento della sezione di opzioni del menu di strumenti . Il secondo identificatore è una stringa che indica l'elemento specifico nella cartella. Per ulteriori informazioni, vedere Utilizzando le pagine di opzioni.

Due voci del Registro di sistema sono necessarie registrare un oggetto ActiveX:

  • sotto HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\Version \Packages\PackageGUID\Automation

  • sotto HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <versione> \AutomationProperties

    dove <versione> è la versione di Visual Studio (ad esempio 8,0) e <PackageGUID> è il GUID del pacchetto VS che implementa l'oggetto ActiveX.

A seconda della configurazione sotto la voce del Registro di sistema AutomationProperties, lo stato di una pagina di Opzioni degli strumenti possibile automaticamente essere salvato e ripristinato tramite il meccanismo delle impostazioni di Visual Studio quando un utente seleziona il comando di Impostazioni esportazione/importazione scegliere dal menu di strumenti . Per ulteriori informazioni sul salvataggio delle impostazioni di Opzioni degli strumenti , vedere Per registrare pagine personalizzate di opzioni.

Un'applicazione non può utilizzare il modello di automazione per implementare il supporto per le proprietà e alle impostazioni di una pagina di Opzioni degli strumenti .

Questa operazione può essere utile per molte ragioni:

  • Le impostazioni gestite dalla pagina di Opzioni degli strumenti sono più complesse in struttura che cosa il modello relativamente piano della proprietà di automazione supporta.

  • Esiste una necessità di impedire altre applicazioni a livello di codice gestisca la pagina di Opzioni degli strumenti .

  • I controlli di accesso o funzioni di sicurezza speciali sono necessari.

In questi casi, Vspackage possibile implementare il supporto della pagina di Opzioni degli strumenti in alcun modo appropriato. tuttavia, devono:

  • Gestire l'impostazione delle proprietà della pagina di Opzioni degli strumenti .

  • Gestire la persistenza dello stato della pagina di Opzioni degli strumenti tramite le impostazioni di Visual Studio .

  • Fornire un'api, se richiesto, per altre applicazioni utilizzeranno la pagina di Opzioni degli strumenti .

Le proprietà della finestra di dialogo di Tipi di carattere e colori è un esempio di una pagina di Opzioni degli strumenti che non può essere modificata tramite il modello di automazione. Invece, un'api separato viene fornito, in base all'interfaccia di IVsFontAndColorDefaults per consentire la modifica a livello di codice della pagina di Tipi di carattere e coloriOpzioni degli strumenti . Per ulteriori informazioni sul controllo della pagina di Tipi di carattere e coloriOpzioni degli strumenti , vedere Tipi di carattere.

Supporto di automazione per le pagine Strumenti Opzioni all'interno del pacchetto gestito Framework

Impostare la proprietà di SupportsAutomation dell'istanza di registrazione di ProvideOptionPageAttribute di un'implementazione per indicare che un'implementazione gestita di Framework-base del pacchetto di una pagina di Opzioni degli strumenti supporta l'automazione.

Le pagine diOpzioni degli strumenti derivate da DialogPage viene fornita con un oggetto ActiveX predefinito, che può essere sottoposto a override.

Se l'implementazione della pagina di Opzioni degli strumenti non supporta l'automazione, l'implementazione di deve fornire il proprio API per consentire l'accesso a livello di codice alla pagina di Opzioni degli strumenti .

Nota

La pagina di Tipi di carattere e colori dell'IDE è un esempio di una pagina di Opzioni degli strumenti che non supporta l'automazione, ma fornisce l'accesso alla pagina di Opzioni degli strumenti con il proprio API.Per ulteriori informazioni, vedere Tipi di carattere.

Vedere anche

Attività

Procedura: creare pagine delle opzioni personalizzate

Riferimenti

Creazione di script di registrazione

Concetti

Creando pagine di opzioni utilizzando gli assembly di interoperabilità

Creando pagine di opzioni utilizzando le classi gestite del Framework del pacchetto

Supporto di automazione per le pagine di opzioni

Utilizzando le pagine di opzioni

Altre risorse

Estensione dell'ambiente Visual Studio