Supporto per le impostazioni utente

Un pacchetto VSPackage può definire una o più categorie di impostazioni, ovvero gruppi di variabili di stato che vengono mantenute quando un utente sceglie il comando Importazione/Esportazione Impostazioni dal menu Strumenti. Per abilitare questa persistenza, usare le API delle impostazioni in Visual Studio SDK.

Una voce del Registro di sistema denominata punto di Impostazioni personalizzato e un GUID definisce la categoria delle impostazioni di un pacchetto VSPackage. Un VSPackage può supportare più categorie di impostazioni, ognuna definita da un punto di Impostazioni personalizzato.

  • Le implementazioni delle impostazioni basate su assembly di interoperabilità (usando l'interfacciaIVsUserSettings) devono creare custom Impostazioni Point modificando il Registro di sistema o usando uno script di registrazione (file con estensione rgs). Per altre informazioni, vedere Creating Registrar Scripts.

  • Il codice che usa Managed Package Framework (MPF) deve creare punti di Impostazioni personalizzati collegando un ProvideProfileAttribute oggetto al VSPackage per ogni punto Impostazioni personalizzato.

    Se un singolo VSPackage supporta diversi punti di Impostazioni personalizzati, ogni punto di Impostazioni personalizzato viene implementato da una classe separata e ognuno viene registrato da un'istanza univoca della ProvideProfileAttribute classe . Di conseguenza, un'impostazione che implementa la classe può supportare più di una categoria di impostazioni.

Dettagli della voce del Registro di sistema dei punti di Impostazioni personalizzata

I punti di Impostazioni personalizzati vengono creati in una voce del Registro di sistema nel percorso seguente: HKLM\Software\Microsoft\VisualStudio\<Version>\User Impostazioni\<CSPName>, dove <CSPName> è il nome del punto di Impostazioni personalizzato supportato dal VSPackage e< Version> è la versione di Visual Studio, ad esempio 8.0.

Nota

Il percorso radice di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> può essere sottoposto a override con una radice alternativa quando viene inizializzato l'ambiente di sviluppo integrato (IDE) di Visual Studio. Per altre informazioni, vedere Opzioni della riga di comando.

La struttura della voce del Registro di sistema è illustrata di seguito:

HKLM\Software\Microsoft\VisualStudio\<Version>\User Impostazioni\

<CSPName>= s '#12345'

Pacchetto = '{XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

Categoria = '{AAAAAAAA AAAAAA AAAAAAAAAAAA}'

ResourcePackage = '{ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}'

AlternateParent = CategoryName

Nome Type Dati Descrizione
(impostazione predefinita). REG_SZ Nome del punto di Impostazioni personalizzato Il nome della chiave, <CSPName>, è il nome non localizzato del punto di Impostazioni personalizzato.

Per le implementazioni basate su MPF, il nome della chiave viene ottenuto combinando gli categoryName argomenti e objectName del ProvideProfileAttribute costruttore in categoryName_objectName.

La chiave può essere vuota oppure può contenere l'ID di riferimento alla stringa localizzata in una DLL satellite. Questo valore viene ottenuto dall'argomento objectNameResourceID al ProvideProfileAttribute costruttore.
Pacchetto REG_SZ GUID GUID del VSPackage che implementa il punto di Impostazioni personalizzato.

Le implementazioni basate su MPF che usano la ProvideProfileAttribute classe , usano l'argomento del objectType costruttore contenente il pacchetto VSPackage Type e la reflection per ottenere questo valore.
Category REG_SZ GUID GUID che identifica la categoria delle impostazioni.

Per le implementazioni basate su assembly di interoperabilità, questo valore può essere un GUID scelto arbitrariamente, che l'IDE di Visual Studio passa ai ExportSettings metodi e ImportSettings . Tutte le implementazioni di questi due metodi devono verificare i relativi argomenti GUID.

Per le implementazioni basate su MPF, questo GUID viene ottenuto dalla classe che Type implementa il meccanismo delle impostazioni di Visual Studio.
ResourcePackage REG_SZ GUID Facoltativo.

Percorso della DLL satellite contenente stringhe localizzate se l'implementazione di VSPackage non le fornisce.

MPF usa la reflection per ottenere il VSPackage di risorsa corretto, quindi la ProvideProfileAttribute classe non imposta questo argomento.
AlternateParent REG_SZ Nome della cartella nella pagina Opzioni strumenti contenente il punto di Impostazioni personalizzato. Facoltativo.

È necessario impostare questo valore solo se un'implementazione delle impostazioni supporta le pagine Opzioni strumenti che usano il meccanismo di persistenza in Visual Studio SDK anziché il meccanismo nel modello di automazione per salvare lo stato.

In questi casi, il valore nella chiave AlternateParent è la topic sezione della topic.sub-topic stringa usata per identificare la pagina ToolsOptions specifica. Ad esempio, per la pagina "TextEditor.Basic" StrumentiOpzioni il valore di AlternateParent sarà "TextEditor".

Quando ProvideProfileAttribute genera il punto di Impostazioni personalizzato, corrisponde al nome della categoria.