Partager via


Éléments qui autorisent la modification de la couleur personnalisés

Vous pouvez substituer la liste de types pour colorizing, telles que les mots clés et les commentaires, en implémentant les éléments qui autorisent la modification de la couleur personnalisés dans le cadre de votre service de langage.

Paramètres utilisateur des éléments qui autorisent la modification de la couleur

Vous pouvez afficher la boîte de dialogue de Polices et couleurs en sélectionnant Options dans le menu d' Outils , puis en sélectionnant Polices et couleurs sous Environnement. Lorsque vous sélectionnez un visuel, comme Éditeur de texte ou Fenêtre Commande, la zone de liste d' Éléments affichés affiche tous les éléments qui autorisent la modification de la couleur correspondant à cet affichage. Vous pouvez afficher et modifier la police, la taille, la couleur de premier plan, et la couleur d'arrière-plan pour chaque élément coloriable. Les choix disponibles sont stockés dans un cache dans le Registre et accessibles par le nom d'élément coloriable.

Vue d'ensemble des éléments qui autorisent la modification de la couleur

Comme l'IDE gère les substitutions d'utilisateur des éléments qui autorisent la modification de la couleur dans la boîte de dialogue de Polices et couleurs , vous devez seulement fournir chaque élément coloriable personnalisé avec un nom. Ce nom est ce qui s'affiche dans la liste d' Éléments affichés . Les éléments qui autorisent la modification de la couleur sont répertoriés par ordre alphabétique. Pour regrouper vos éléments personnalisés qui autorisent la modification de la couleur du service de langage, vous pouvez commencer chaque nom avec le nom de langue, par exemple NewLanguage - commentaire et NewLanguage - mot clé.

Avertissement

Vous devez inclure le nom de langue dans le nom coloriable d'élément pour éviter des collisions avec des noms qui autorisent la modification de la couleur d'élément existants.Si vous modifiez le nom d'un de vos éléments qui autorisent la modification de la couleur pendant le développement, vous devez réinitialiser le cache qui a été créé la première fois vos éléments qui autorisent la modification de la couleur ont fait l'objet d'un accès.Vous pouvez réinitialiser le cache expérimental à l'outil de vsregex.Utilisez la ligne de commande vsregex GetOrig 10.0 Exp, en remplaçant l'extension appropriée de nom de version et de Registre pour votre version de Visual Studio.l'outil de vsregex est installé avec Kit de développement logiciel Visual Studio.Pour plus d'informations sur le vsregex, consultez la rubrique « la ligne de commande de VsRegEx » dans instance expérimentale de Visual Studio.

Le premier élément de la liste d'éléments qui autorisent la modification de la couleur n'est jamais référencée. Le premier élément correspond à un index coloriable d'élément de 0, et Visual Studio fournit toujours les couleurs et les attributs du texte par défaut de cet élément. La façon la plus facile de traiter cet élément non référencée est de fournir un élément coloriable d'espace réservé dans votre liste comme premier élément.

Implémenter les éléments qui autorisent la modification de la couleur personnalisés

  1. Définissez ce qui doit sont colorisés dans votre langage, par exemple mot clé, opérateur, et identificateur.

  2. Créez une énumération de ces éléments qui autorisent la modification de la couleur.

  3. Associez les types de jetons retournés d'un analyseur ou d'un scanner avec les valeurs énumérées.

    Par exemple, les valeurs représentant les types de jetons peuvent être les mêmes valeurs de l'énumération coloriable personnalisée d'éléments.

  4. Dans votre implémentation de la méthode d' ColorizeLine dans votre objet d' IVsColorizer , effectuez liste d'attributs avec les valeurs de votre énumération coloriable personnalisée d'éléments qui correspondent aux types de jetons retournés par l'analyseur ou du scanner.

  5. dans la même classe qui implémente l'interface d' IVsLanguageInfo , implémentez l'interface d' IVsProvideColorableItems et ses deux méthodes, GetItemCount et GetColorableItem.

  6. Implémenter l'interface IVsColorableItem.

  7. Si vous souhaitez prendre en charge les valeurs 24 bits ou 65536 couleurs, implémentent également l'interface d' IVsHiColorItem .

  8. Dans votre objet de service de langage, créez une liste qui contient vos objets d' IVsColorableItem , un pour chaque élément coloriable votre analyseur ou le scanner peut le reconnaître.

    Vous pouvez accéder à chaque élément de la liste à l'aide de la valeur correspondante de l'énumération coloriable personnalisée d'éléments. Utilisez des valeurs d'énumération comme index dans la liste. Le premier élément de la liste n'est jamais en cours, car il correspond à celui de texte par défaut que Visual Studio gère toujours lui-même. Vous pouvez compenser en insérant un élément coloriable d'espace réservé au début de la liste.

  9. Dans votre implémentation de la méthode d' GetItemCount , retourne le nombre d'éléments dans la liste coloriable personnalisée d'éléments.

  10. Dans votre implémentation de la méthode d' GetColorableItem , retournez l'élément coloriable demandé dans votre liste.

Pour obtenir un exemple d'implémentation des interfaces d' IVsColorableItem et d' IVsHiColorItem , consultez l' IVsHiColorItem.

Voir aussi

Tâches

Comment : Éléments qui autorisent la modification de la couleur prédéfinis d'utilisation

Concepts

Modèle d'un service de langage

coloration de syntaxe dans les éditeurs personnalisés

coloration de syntaxe

implémenter la coloration de syntaxe