La police et paramètres de couleurs stockés de accès
L'environnement de développement intégré (IDE) de (IDE) Visual Studio enregistre les paramètres modifiés pour les polices et les couleurs dans le Registre. Vous pouvez utiliser l'interface d' IVsFontAndColorStorage pour accéder à ces paramètres.
pour initialiser la persistance d'état des polices et de couleurs
La police et des informations sur la couleur est stockée par catégorie dans l'emplacement de Registre suivant : [HKCU \SOFTWARE\Microsoft \Visual Studio \ <Visual Studio version> \FontAndColors \ <CategoryGUID> ], où <CategoryGUID> est le GUID de catégorie.
par conséquent, pour initialiser la persistance, un VSPackage doit :
Obtenez une interface d' IVsFontAndColorStorage en appelant QueryService par rapport à le fournisseur de services global.
QueryService doit être appelé à l'aide de l'argument d'ID de service d' SID_SVsFontAndColorStorage et d'un argument de l'interface d' IID_IVsFontAndColorStorage.
Utilisez la méthode d' OpenCategory pour ouvrir une catégorie à rendre persistantes à l'aide de le GUID de la catégorie et d'une balise en mode en tant qu'arguments.
Le mode, spécifié par l'argument d' fFlags , est construit des valeurs de l'énumération d' __FCSTORAGEFLAGS . ce mode contrôle :
Les paramètres accessibles via l'interface d' IVsFontAndColorStorage .
Tous les paramètres ou uniquement ceux que les utilisateurs modifient et qui sont récupérables via l'interface d' IVsFontAndColorStorage .
La façon de propager les modifications apportées aux paramètres utilisateur.
Le format des valeurs de couleur utilisées.
pour utiliser la persistance d'état des polices et de couleurs
Rendre les polices et les couleurs implique :
Synchroniser les paramètres IDE avec les paramètres stockés dans le Registre.
propager les informations de modification de Registre.
En définissant et en récupérant des paramètres stockés dans le Registre.
Synchroniser le paramètre de stockage avec les paramètres IDE est principalement transparent. L'IDE sous-jacent écrit automatiquement les paramètres mis à jour pour Éléments affichés aux entrées du Registre des catégories.
Si plusieurs le partage de VSPackages une catégorie particulière, un VSPackage doit exiger que les événements sont générés lorsque les méthodes d'interface d' IVsFontAndColorStorage sont utilisées pour modifier les paramètres du Registre stockés.
par défaut, la génération d'événement n'est pas activée. Pour permettre la génération d'événement, une catégorie doit être ouverte à l'aide de FCSF_PROPAGATECHANGES. Appellera alors l'IDE la méthode appropriée d' IVsFontAndColorEvents qu'un VSPackage applique.
Notes
Les modifications via la page de propriétés de Police et couleurs génèrent indépendamment d'événements d' IVsFontAndColorStorage.Vous pouvez utiliser l'interface d' IVsFontAndColorCacheManager pour déterminer si une mise à jour de la police mise en cache et les paramètres de couleur est nécessaire avant d'appeler les méthodes de la classe d' IVsFontAndColorStorage .
Stocker et à récupérer des informations
Pour obtenir ou configurer les informations qu'un utilisateur peut modifier pour un élément nommé d'affichage dans une catégorie, un appel de VSPackages l' GetItem les méthodes et ouverts d' SetItem .
Des informations à propos de les attributs de polices pour une catégorie particulière sont obtenues à l'aide de l' GetFont et des méthodes d' SetFont .
Notes
L'argument d' fFlags passé à la méthode d' OpenCategory lorsque cette catégorie a été ouverte définit le comportement de l' GetItem et des méthodes d' GetFont .Par défaut, l'itemsthat aboutdisplayd'informations de retour de ces méthodes uniquementont changé.Toutefois, si une catégorie est ouverte à l'aide de la balise d' FCSF_LOADDEFAULTS , les éléments mis à jour et inchangé d'affichage sont accessibles par GetItem et GetFont.
Par défaut, seuls les informations sur d' Éléments affichés sont conservées dans le Registre. L'interface d' IVsFontAndColorStorage ne peut pas être utilisée pour récupérer tous les paramètres pour les polices et les couleurs.
Notes
L' GetItem et les méthodes d' GetFont retournent REGDB_E_KEYMISSING, (0x80040152L) lorsque vous les utilisez pour récupérer des informations sur Éléments affichésinchangé.
Les paramètres de l'ensemble de l' Éléments affichés dans Category particulier peut être obtenu à l'aide de les méthodes d'interface d' T:Microsoft.VisualStudio.Shell.Interop.IVsFontAndColorDefaults .
Voir aussi
Référence
Concepts
Implémenter des catégories personnalisées et les éléments d'affichage