Partager via


Services linguistiques et l'éditeur principal

Les éditeurs dans Visual Studio sont fréquemment associés à un service de langage. Entre autres choses, un service de langage fournit la coloration de syntaxe, la saisie semi-automatique des instructions, Intellisense, et la mise en forme du texte.

Principaux éditeurs et objets de données du document

Lorsque vous accédez au éditeur principal, vous ne créez pas les objets de vue de données et le fichier de document. L'IDE crée et contrôle ces deux objets, et vous obtenez des handles à eux en faisant les appels adaptés dans votre implémentation de fabrique d'éditeur.

Pour plus d'informations, consultez Déterminer quel éditeur ouvrir un fichier dans un projet.

Services linguistiques et l'éditeur principal

En implémentant un service de langage, vous pouvez contrôler l'affichage des données dans la vue du document. Un service de langage fournit des informations et le comportement spécifique à une langue donnée, telle que Visual C++. Lorsque vous créez une mémoire tampon de texte et déterminez l'extension du nom de fichier du document que vous ouvrez, la mémoire tampon de texte définit le service de langage associé à cette extension de nom de fichier à partir d'une clé de Registre, HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Editors\{YourLanguageService GUID}\Extensions. La procédure standard de chargement d'un VSPackage charge votre VSPackage et une instance de votre service de langage est créée.

Un service de langage de base apparaît dans l'illustration suivante.

Objets principaux du service d'éditeur et de langage

Graphique du modèle de service de langage

L'objet de données du document de l'éditeur principal est appelé une mémoire tampon de texte et est représenté par l'objet d' VsTextBuffer . L'objet de vue du document est appelé un affichage de texte et est représenté par l'objet d' VsCodeWindow . Ces deux objets fonctionnent ensemble via le service de langage pour fournir un affichage unifié du éditeur principal. les informations de la mémoire tampon de texte et de l'affichage de texte s'affichent dans une fenêtre de document appelée une fenêtre de code. Le document de fenêtre de code est contrôlé par un gestionnaire de fenêtre de code.

Voir aussi

Référence

IVsLanguageInfo

IVsColorizer

VsTextView

IVsCodeWindowManager

VsCodeWindow

Concepts

Fournir un contexte de service de langage à l'aide de l'API héritée

Héberger Intellisense

langages contenus

Autres ressources

Développer un service de langage