Prise en charge des paramètres utilisateur

Un VSPackage peut définir une ou plusieurs catégories de paramètres, qui sont des groupes de variables d’état qui persistent lorsqu’un utilisateur choisit la commande Import/Export Paramètres dans le menu Outils. Pour activer cette persistance, vous utilisez les API de paramètres dans le Kit de développement logiciel (SDK) Visual Studio.

Une entrée de Registre appelée point d’Paramètres personnalisé et guid définit la catégorie de paramètres d’un VSPackage. Un VSPackage peut prendre en charge plusieurs catégories de paramètres, chacune définie par un point de Paramètres personnalisé.

  • Les implémentations des paramètres basés sur des assemblys d’interopérabilité (à l’aide de l’interfaceIVsUserSettings) doivent créer un point de Paramètres personnalisé en modifiant le Registre ou en utilisant un script de bureau d’enregistrement (fichier.rgs). Pour plus d'informations, consultez Creating Registrar Scripts.

  • Le code qui utilise Managed Package Framework (MPF) doit créer des points de Paramètres personnalisés en attachant un ProvideProfileAttribute à VSPackage pour chaque point de Paramètres personnalisé.

    Si un vsPackage unique prend en charge plusieurs points de Paramètres personnalisés, chaque point de Paramètres personnalisé est implémenté par une classe distincte, et chacun est inscrit par une instance unique de la ProvideProfileAttribute classe. Par conséquent, une classe d’implémentation de paramètres peut prendre en charge plusieurs catégories de paramètres.

Détails de l’entrée de Registre de points Paramètres personnalisées

Les points de Paramètres personnalisés sont créés dans une entrée de Registre à l’emplacement suivant : HKLM\Software\Microsoft\VisualStudio\<Version>\User Paramètres\<CSPName>, où <CSPName> est le nom du point de Paramètres personnalisé pris en charge par VSPackage et <version> est la version de Visual Studio, par exemple 8.0.

Remarque

Le chemin racine de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> peut être remplacé par une autre racine lorsque l’environnement de développement intégré (IDE) visual Studio est initialisé. Pour plus d’informations, consultez Commutateurs de ligne de commande.

La structure de l’entrée de Registre est illustrée ci-dessous :

HKLM\Software\Microsoft\VisualStudio\<Version>\User Paramètres\

<CSPName>= s '#12345'

Package = '{XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

Category = '{AAAA AAAAYYY}'

ResourcePackage = '{ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZ}'

AlternateParent = CategoryName

Nom Type Données Description
(Par défaut) REG_SZ Nom du point de Paramètres personnalisé Le nom de la clé, <CSPName>est le nom non localisé du point de Paramètres personnalisé.

Pour les implémentations basées sur MPF, le nom de la clé est obtenu en combinant les arguments et les categoryName arguments du ProvideProfileAttribute constructeur en categoryName_objectName.objectName

La clé peut être vide ou contenir l’ID de référence à la chaîne localisée dans une DLL satellite. Cette valeur est obtenue de l’argument objectNameResourceID au ProvideProfileAttribute constructeur.
Package REG_SZ GUID GUID du VSPackage qui implémente le point de Paramètres personnalisé.

Implémentations basées sur MPF à l’aide de la ProvideProfileAttribute classe, utilisez l’argument du objectType constructeur contenant les éléments VSPackage Type et la réflexion pour obtenir cette valeur.
Catégorie REG_SZ GUID GUID identifiant la catégorie de paramètres.

Pour les implémentations basées sur des assemblys d’interopérabilité, cette valeur peut être un GUID arbitrairement choisi, que l’IDE Visual Studio transmet aux méthodes et ImportSettings aux ExportSettings méthodes. Toutes les implémentations de ces deux méthodes doivent vérifier leurs arguments GUID.

Pour les implémentations basées sur MPF, ce GUID est obtenu par la Type classe implémentant le mécanisme de paramètres Visual Studio.
ResourcePackage REG_SZ GUID facultatif.

Chemin d’accès à la DLL satellite contenant des chaînes localisées si l’implémentation de VSPackage ne les fournit pas.

MPF utilise la réflexion pour obtenir le VSPackage de la ressource correcte, de sorte que la ProvideProfileAttribute classe ne définit pas cet argument.
AlternateParent REG_SZ Nom du dossier sous la page Options des outils contenant ce point de Paramètres personnalisé. facultatif.

Vous devez définir cette valeur uniquement si une implémentation de paramètres prend en charge les pages Options des outils qui utilisent le mécanisme de persistance dans le Kit de développement logiciel (SDK) Visual Studio plutôt que le mécanisme dans le modèle Automation pour enregistrer l’état.

Dans ces cas, la valeur de la clé AlternateParent est la topic section de la topic.sub-topic chaîne utilisée pour identifier la page ToolsOptions particulière. Par exemple, pour la page "TextEditor.Basic" ToolsOptions, la valeur de AlternateParent serait "TextEditor".

Lorsque ProvideProfileAttribute vous générez le point de Paramètres personnalisé, il est identique au nom de la catégorie.