L’accès à la police stockée et les paramètres de couleurAccessing 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 la 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 des 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 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 globaux.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 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 la OpenCategory méthode pour ouvrir une catégorie à rendre persistantes à l’aide du 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, qui 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 de contrôle :This mode controls:

    • Les paramètres qui sont accessibles via la 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 de l’utilisateur.The manner of propagating the changes to user settings.

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

Pour utiliser la persistance de l’état des polices et couleursTo Use State Persistence of Fonts and Colors

Persistance des polices et couleurs implique :Persisting fonts and colors involves:

  • Synchroniser les paramètres 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 largement 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 de catégories.The underlying IDE automatically writes updated settings for Display Items to the registry entries of categories.

    Si plusieurs packages VS 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 des événements n’est pas activée.By default, event generation is not enabled. Pour activer la génération des événements, une catégorie doit être ouverte à l’aide de __FCSTORAGEFLAGS.To enable event generation, a category must be opened by using __FCSTORAGEFLAGS. Ouverture d’une catégorie entraîne l’IDE appeler approprié IVsFontAndColorEvents méthode qu’un VSPackage implémente.Opening a category causes the IDE to call the appropriate IVsFontAndColorEvents method that a VSPackage implements.

Note

Modifications via le police et couleur page de propriétés générer 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.

Le stockage et la récupération des informationsStoring and Retrieving Information

Pour obtenir ou configurer les informations dont un utilisateur peut modifier pour un élément d’affichage nommé dans une catégorie ouvert, 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 plus d’informations sur la police des attributs pour une catégorie particulière est obtenue à l’aide de la 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 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 les 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 ouverte à l’aide de la __FCSTORAGEFLAGS indicateur, les deux mises à jour et d’éléments affichés sans modification 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, seuls 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é 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ée afficher les éléments.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 un notamment catégorie peuvent être obtenues 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