Partager via


Comment : Accédez aux polices et au modèle de couleurs prédéfinis

L'environnement de développement intégré Visual (IDE) Studio a un modèle de polices et de couleurs qui est associée à la fenêtre d'éditeur. Vous pouvez accéder à cette méthode via l'interface d' IVsTextView .

Pour utiliser des polices et le modèle de couleurs prédéfinies, un VSPackage doit :

  • Définissez une catégorie à utiliser avec les polices par défaut et le service de couleurs.

  • Enregistrez la catégorie avec les polices par défaut et couleur le serveur.

  • Recommandez IDE que des utilisations spécifiques d'une fenêtre les éléments et les catégories prédéfinis d'affichage à l'aide de les interfaces d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer et d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer .

L'IDE utilise la catégorie résultant comme handle de la fenêtre. le nom de la catégorie est affiché dans la zone déroulante d' Afficher les paramètres pour : dans la page de propriétés de Polices et couleurs .

Pour définir une catégorie utilisation des polices prédéfinies et les couleurs

  1. Create GUID arbitraire.

    Ce GUID est utilisé pour identifier une catégorie**.** Cette catégorie réutilise les polices IDE par défaut de couleurs et la spécification. Pour plus d'informations, consultez GUIDGEN Sample: Generates Globally Unique Identifiers (GUIDs).

    Notes

    En extrayant les données de police et de couleur avec IVsFontAndColorEvents ou d'autres interfaces, utilisez de VSPackages ce GUID de référencer des informations prédéfinies.

  2. Le nom de la catégorie doit être ajouté à une table de chaînes dans le fichier de ressources du VSPackage (.rc), afin qu'il puisse être localisé si nécessaire en cas de affichage dans l'IDE.

    Pour plus d'informations, consultez Ajout ou suppression d'une chaîne.

Pour enregistrer une catégorie utilisation des polices prédéfinies et les couleurs

  1. Construisez un type particulier d'entrée du Registre de catégorie à l'emplacement suivant :

    [HKLM \SOFTWARE\Microsoft \Visual Studio \ <Visual Studio version> \FontAndColors \ <Category> ]

    <Category> est le nom non localisé de la catégorie.

  2. Remplissez Registre pour utiliser des polices et le modèle de couleurs stock avec quatre valeurs suivantes :

    Nom

    Type

    Données

    Description

    Catégorie

    REG_SZ

    GUID

    GUID arbitraire qui identifie une catégorie qui contient la police et le modèle de couleurs boursières.

    Package

    REG_SZ

    GUID

    {} F5E7E71D-1401-11D1-883B-0000F87579D2

    Ce GUID est utilisé par le VSPackages qui utilisent la police par défaut et colorient configurations.

    NameID

    REG_DWORD

    ID

    L'ID de ressource d'un nom localisé de catégorie dans le VSPackage.

    ToolWindowPackage

    REG_SZ

    GUID

    GUID du VSPackage implémentant l'interface d' IVsTextView .

Pour initialiser l'utilisation de polices fournies par le système et de couleurs

  1. Créez une instance de l'interface d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer dans le cadre de l'implémentation et de l'initialisation de la fenêtre.

  2. appelez la méthode d' GetPropertyCategory pour obtenir une instance de l'interface d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer correspondant à l'instance actuelle d' IVsTextView .

  3. SetProperty d'appel deux fois.

    • Appelez une fois avec VSEDITPROPID_ViewGeneral_ColorCategorycomme argument.

    • Appelez une fois avec VSEDITPROPID_ViewGeneral_FontCategory comme argument.

    Cela définit et expose les polices par défaut de couleurs et des services en tant que propriété de la fenêtre.

Exemple

L'exemple suivant initialise l'utilisation de polices et les couleurs prédéfinies.

CComVariant vt;
CComQIPtr<IVsTextEditorPropertyCategoryContainer> spPropCatContainer(m_spView);
if (spPropCatContainer != NULL){
    CComPtr<IVsTextEditorPropertyContainer> spPropContainer;
    if (SUCCEEDED(spPropCatContainer->GetPropertyCategory(GUID_EditPropCategory_View_MasterSettings, 
                                                          &spPropContainer))){
        CComVariant vt;CComVariant VariantGUID(bstrGuidText);
        spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_FontCategory, VariantGUID);
        spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_ColorCategory, VariantGUID);
    }
}

Voir aussi

Concepts

Obtention de police et des informations sur la couleur pour la colorisation de texte

La police et paramètres de couleurs stockés de accès

Présentation de couleur et de police

Autres ressources

Polices