Comment : accéder aux polices intégrées et des couleurs cchemeHow to: Access the built-in fonts and color ccheme

L’environnement de développement intégré (IDE) Visual Studio a un jeu de polices et couleurs qui est associé à la fenêtre d’éditeur.The Visual Studio integrated development environment (IDE) has a scheme of fonts and colors that is associated with the editor window. Vous pouvez accéder à ce schéma via les IVsTextView interface.You can access this scheme through the IVsTextView interface.

Pour utiliser les polices intégrées et le jeu de couleurs, un VSPackage doit :To use the built-in fonts and colors scheme, a VSPackage must:

  • Définir une catégorie à utiliser avec le service de polices et couleurs par défaut.Define a category to use with the default fonts and colors service.

  • S’inscrire à la catégorie avec le serveur de polices et couleurs par défaut.Register the category with the default fonts and colors server.

  • Informez l’IDE qu’une fenêtre spécifique utilise les catégories et les éléments d’affichage intégrées à l’aide de la IVsTextEditorPropertyCategoryContainer et IVsTextEditorPropertyContainer interfaces.Advise the IDE that a specific window uses the built-in display items and categories by using the IVsTextEditorPropertyCategoryContainer and IVsTextEditorPropertyContainer interfaces.

    L’IDE utilise la catégorie résultant en tant que handle vers la fenêtre.The IDE uses the resulting category as a handle to the window. Nom de la catégorie s’affiche dans le afficher les paramètres de : zone de liste déroulante dans le polices et couleurs page de propriétés.The category's name is displayed in the Show settings for: drop-down box in the Fonts and Colors property page.

Pour définir une catégorie à l’aide de couleurs et polices intégréesTo define a category using built-in fonts and colors

  1. Créer un GUID arbitraire.Create an arbitrary GUID.

    Ce GUID est utilisé pour identifier une catégorie.This GUID is used to uniquely identify a category. Cette catégorie réutilise la spécification de couleurs et de polices par défaut de l’IDE.This category reuses the IDE's default fonts and colors specification.

    Note

    Lors de la récupération des données de police et de couleur avec la IVsFontAndColorEvents ou autres interfaces, les VSPackages utiliser ce GUID pour référencer les informations intégrées.When retrieving font and color data with the IVsFontAndColorEvents or other interfaces, VSPackages use this GUID to reference built-in information.

  2. Nom de la catégorie doit être ajouté à une table de chaînes à l’intérieur les ressources du package Visual Studio (.rc) de fichiers, afin qu’elle peut être localisée en fonction des besoins lorsque affichés dans l’IDE.The category's name must be added to a string table inside the VSPackage's resources (.rc) file, so that it can be localized as needed when displayed in the IDE.

    Pour plus d’informations, consultez ajouter ou supprimer une chaîne.For more information, see Add or delete a string.

Pour inscrire une catégorie à l’aide de couleurs et polices intégréesTo register a category using built-in fonts and colors

  1. Construire un type spécial d’entrée de Registre de catégorie dans l’emplacement suivant :Construct a special type of category registry entry in the following location:

    [HKLM\SOFTWARE\Microsoft \Visual Studio\<version de Visual Studio > \FontAndColors\<catégorie >][HKLM\SOFTWARE\Microsoft \Visual Studio\<Visual Studio version>\FontAndColors\<Category>]

    <Catégorie > est le nom non localisé de la catégorie.<Category> is the non-localized name of the category.

  2. Remplir le Registre afin d’utiliser le jeu de couleurs et polices du stock avec quatre valeurs :Populate the registry to use the stock fonts and color scheme with four values:

    NameName TypeType DonnéesData DescriptionDescription
    CategoryCategory REG_SZREG_SZ GUIDGUID Un GUID arbitraire qui identifie une catégorie qui contient le schéma de police et couleur stock.An arbitrary GUID that identifies a category that contains the stock font and color scheme.
    PackagePackage REG_SZREG_SZ GUIDGUID {F5E7E71D-1401-11D1-883B-0000F87579D2}{F5E7E71D-1401-11D1-883B-0000F87579D2}

    Ce GUID est utilisé par tous les packages qui utilisent les configurations de couleur et de police par défaut.This GUID is used by all VSPackages that use the default font and color configurations.
    NameIDNameID REG_DWORDREG_DWORD IdID L’ID de ressource d’un nom de catégorie localisable dans le VSPackage.The resource ID of a localizable category name in the VSPackage.
    ToolWindowPackageToolWindowPackage REG_SZREG_SZ GUIDGUID Le GUID de l’implémentation VSPackage le IVsTextView interface.The GUID of the VSPackage implementing the IVsTextView interface.

Pour lancer l’utilisation de polices fournis par le système et les couleursTo initiate the use of system-provided fonts and colors

  1. Créez une instance de la IVsTextEditorPropertyCategoryContainer interface dans le cadre de l’implémentation et de l’initialisation de la fenêtre.Create an instance of the IVsTextEditorPropertyCategoryContainer interface as part of the window's implementation and initialization.

  2. Appelez le GetPropertyCategory méthode pour obtenir une instance de la IVsTextEditorPropertyContainer interface correspondant à l’actuel IVsTextView instance.Call the GetPropertyCategory method to obtain an instance of the IVsTextEditorPropertyContainer interface corresponding to the current IVsTextView instance.

  3. Appelez SetProperty à deux reprises.Call SetProperty twice.

    • Appeler une seule fois avec VSEDITPROPID_ViewGeneral_ColorCategoryen tant qu’argument.Call once with VSEDITPROPID_ViewGeneral_ColorCategoryas an argument.

    • Appeler une seule fois avec VSEDITPROPID_ViewGeneral_FontCategory en tant qu’argument.Call once with VSEDITPROPID_ViewGeneral_FontCategory as an argument.

      Cela définit et expose les services de polices et couleurs par défaut en tant que propriété de la fenêtre.This sets and exposes the default fonts and colors services as a property of the window.

ExempleExample

L’exemple suivant lance l’utilisation intégrées polices et couleurs.The following example initiates the use of built-in fonts and colors.

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 aussiSee also