Accès stockés des paramètres de police et couleurAccess stored font and color settings

Le Visual StudioVisual Studio l’environnement de développement intégré (IDE) stocke les paramètres modifiés pour les polices et couleurs dans le Registre.The Visual StudioVisual Studio integrated development environment (IDE) stores modified settings for fonts and colors in the registry. Vous pouvez utiliser le IVsFontAndColorStorage interface pour accéder à ces paramètres.You can use the IVsFontAndColorStorage interface to access these settings.

Pour initier la persistance de l’état de polices et couleursTo initiate state persistence of fonts and colors

Les informations de police et de couleur sont stockées par catégorie dans l’emplacement de Registre suivant : [HKCU\SOFTWARE\Microsoft \Visual Studio\<version de Visual Studio > \FontAndColors\ <CategoryGUID >], où <CategoryGUID > est le GUID de catégorie.Font and color information is stored by category in the following registry location: [HKCU\SOFTWARE\Microsoft \Visual Studio\<Visual Studio version> \FontAndColors\<CategoryGUID>], where <CategoryGUID> is the category GUID.

Par conséquent, pour lancer la persistance, un VSPackage doit :Therefore, to initiate persistence, a VSPackage must:

  • Obtenir un IVsFontAndColorStorage interface en appelant QueryService contre le fournisseur de services global.Obtain an IVsFontAndColorStorage interface by calling QueryService against the global service provider.

    QueryService doit être appelée à l’aide d’un argument d’ID de service de SID_SVsFontAndColorStorage et un argument d’ID d’interface IID_IVsFontAndColorStorage.QueryService must be called by using a service ID argument of SID_SVsFontAndColorStorage and an interface ID argument of IID_IVsFontAndColorStorage.

  • Utilisez le OpenCategory méthode pour ouvrir une catégorie à rendre persistantes à l’aide de GUID de la catégorie et un indicateur de mode en tant qu’arguments.Use the OpenCategory method to open a category to be persisted by using the category's GUID and a mode flag as arguments.

    Le mode spécifié par le fFlags argument, est construit à partir des valeurs dans le __FCSTORAGEFLAGS énumération.The mode, specified by the fFlags argument, is constructed from values in the __FCSTORAGEFLAGS enumeration. Ce mode contrôle :This mode controls:

    • Les paramètres qui sont accessibles via le IVsFontAndColorStorage interface.The settings that can be accessed through the IVsFontAndColorStorage interface.

    • Tous les paramètres ou uniquement les paramètres qui modifient les utilisateurs et qui sont récupérables par le biais du IVsFontAndColorStorage interface.Either all settings or only those settings that users modify and that are retrievable through the IVsFontAndColorStorage interface.

    • La manière de propager les modifications apportées aux paramètres utilisateur.The manner of propagating the changes to user settings.

    • Le format de valeurs de couleur qui sont utilisés.The format of color values that are used.

Pour utiliser la persistance d’état de polices et couleursTo use state persistence of fonts and colors

Couleurs et polices persistantes implique :Persisting fonts and colors involves:

  • Synchroniser les paramètres de l’IDE avec paramètres stockés dans le Registre.Synchronizing the IDE settings with settings stored in the registry.

  • Propagation des informations de modification du Registre.Propagating registry modification information.

  • Définition et récupération des paramètres stockés dans le Registre.Setting and retrieving settings stored in the registry.

    La synchronisation du paramètre de stockage avec les paramètres de l’IDE est en grande partie transparent.Synchronizing the storage setting with the IDE settings is largely transparent. L’IDE sous-jacent écrit automatiquement les paramètres mis à jour pour éléments affichés pour les entrées de Registre des catégories.The underlying IDE automatically writes updated settings for Display Items to the registry entries of categories.

    Si plusieurs VSPackages partagent une catégorie particulière, un VSPackage doit exiger que les événements sont générés lorsque les méthodes de la IVsFontAndColorStorage interface sont utilisés pour modifier les paramètres du Registre stockée.If multiple VSPackages share a particular category, a VSPackage should require that events are generated when methods of the IVsFontAndColorStorage interface are used to modify stored registry settings.

    Par défaut, la génération d’événements n’est pas activée.By default, event generation is not enabled. Pour activer la génération d’événements, une catégorie doit être ouvert à l’aide de __FCSTORAGEFLAGS.To enable event generation, a category must be opened by using __FCSTORAGEFLAGS. Ouverture d’une catégorie de force l’IDE appeler approprié IVsFontAndColorEvents méthode qui implémente un VSPackage.Opening a category causes the IDE to call the appropriate IVsFontAndColorEvents method that a VSPackage implements.

Note

Les modifications via le police et couleur page de propriétés génèrent des événements indépendants de IVsFontAndColorStorage.Modifications through the Font and Color property page generate events independent of IVsFontAndColorStorage. Vous pouvez utiliser la IVsFontAndColorCacheManager interface pour déterminer si une mise à jour des paramètres de police et couleur de mise en cache est nécessaire avant d’appeler les méthodes de la IVsFontAndColorStorage classe.You can use the IVsFontAndColorCacheManager interface to determine whether an update of cached font and color settings is needed before calling the methods of the IVsFontAndColorStorage class.

Store et récupérer des informationsStore and retrieve information

Pour obtenir ou configurer les informations un utilisateur peut modifier pour un élément d’affichage nommé dans une catégorie ouverte, VSPackages appeler le GetItem et SetItem méthodes.To obtain or configure information that a user can modify for a named display item in an open category, VSPackages call the GetItem and SetItem methods.

Pour une catégorie particulière est obtenue à l’aide des attributs d’informations sur la police du GetFont et SetFont méthodes.Information about font attributes for a particular category is obtained by using the GetFont and SetFont methods.

Note

Le fFlags argument qui est passé à la OpenCategory méthode lors de l’ouverture de cette catégorie définit le comportement de la GetItem et GetFont méthodes.The fFlags argument that is passed to the OpenCategory method when that category was opened defines the behavior of the GetItem and the GetFont methods. Par défaut, ces méthodes retournent uniquement des informations sur les éléments d’affichage qui ont été modifiés.By default, these methods only return information about display items that have changed. Toutefois, si une catégorie est ouvert à l’aide de la __FCSTORAGEFLAGS indicateur, les deux mises à jour et éléments inchangés affichés sont accessibles par GetItem et GetFont.However, if a category is opened by using the __FCSTORAGEFLAGS flag, both updated and unchanged display items can be accessed by GetItem and GetFont.

Par défaut, uniquement modifié éléments affichés informations sont conservées dans le Registre.By default, only changed Display Items information is kept in the registry. Le IVsFontAndColorStorage interface ne peut pas être utilisée pour récupérer tous les paramètres pour les polices et couleurs.The IVsFontAndColorStorage interface cannot be used to retrieve all settings for fonts and colors.

Note

Le GetItem et GetFont méthodes retournent REGDB_E_KEYMISSING, (0x80040152L) lorsque vous les utilisez pour récupérer des informations sur inchangé éléments affichés.The GetItem and GetFont methods return REGDB_E_KEYMISSING, (0x80040152L) when you use them to retrieve information about unchanged Display Items.

Les paramètres de tous les éléments affichés en un particulier catégorie peut être obtenu en utilisant les méthodes de la IVsFontAndColorDefaults interface.The settings of all Display Items in a particular Category can be obtained by using the methods of the IVsFontAndColorDefaults interface.

Voir aussiSee also