Partager via


coloration de syntaxe dans les éditeurs personnalisés

Les éditeurs de l'environnement Kit de développement logiciel de Visual Studio, notamment l'éditeur principal, utilisent des services de langage pour identifier les éléments de syntaxe spécifiques et affichage avec des couleurs spécifiées pour une vue donnée de document.

Spécifications de la colorisation

Tous les éditeurs implémentant un coloriseur du service de langage doivent :

  1. Utilisez un objet qui implémente IVsTextBuffer pour gérer le texte à sont colorisés et un objet qui implémente IVsTextView pour fournir une vue du document du texte.

  2. Obtenez une interface à un service de langage particulier en interrogeant le fournisseur de services du VSPackage à l'aide d'un GUID d'identification unique du service de langage.

  3. Appelez la méthode d' SetLanguageServiceID d'objet qui implémente IVsTextBuffer. Cette méthode associe le service de langage à l'implémentation d' IVsTextBuffer que le VSPackage utilise pour gérer le texte qui doit sont colorisés.

Utilisation principale de l'éditeur d'un coloriseur du service de langage

Lorsqu'un service de langage avec un coloriseur est obtenu en une instance du éditeur principal, l'analyse et le rendu du texte par un coloriseur du service de langage se produit automatiquement sans autre intervention de votre part.

L'IDE de façon transparente :

  • Appelle le coloriseur selon les besoins pour analyser et analyser le texte comme il est ajouté ou modifié dans l'implémentation d' IVsTextBuffer.

  • Garantit que l'affichage fourni par la vue du document fournie par l'implémentation d' IVsTextView est mis à jour et redessiné à l'aide de les informations retournées par le coloriseur.

Utilisation non fondamentale de l'éditeur d'un coloriseur du service de langage

Les instances de l'éditeur non fondamentales peuvent également utiliser un service de colorisation de la syntaxe du service de langage, mais elles doivent explicitement récupérer et appliquer le coloriseur du service et repeindre leur document s'affiche.

Pour cela requiert un éditeur non fondamental :

  1. Obtenez un objet du coloriseur du service de langage (qui implémente T:Microsoft.VisualStudio.TextManager.Interop.IVsColorizer et IVsColorizer2). Votre VSPackage procède en appelant la méthode d' GetColorizer sur l'interface du service de langage.

  2. Appelez la méthode d' ColorizeLine pour demander qu'une étendue de texte particulière sont colorisés.

    La méthode d' ColorizeLine retourne un tableau de valeurs, une pour chaque lettre de l'étendue de texte sont colorisés. Il identifie également l'étendue de texte en tant que type particulier d'élément coloriable, tel qu'un commentaire, un mot clé, ou un type de données.

  3. Utilisez les informations de la colorisation retournées par ColorizeLine pour redessiner et afficher son texte.

Notes

En plus de utiliser un coloriseur du service de langage, un VSPackage peut utiliser le mécanisme à usage général de texte-coloration de l'environnement Kit de développement logiciel de Visual Studio.Pour plus d'informations sur ce mécanisme, consultez Polices.

Voir aussi

Tâches

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

Concepts

coloration de syntaxe

implémenter la coloration de syntaxe

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