Freigeben über


Sprachendienste und der Kern-Editor

Editoren in Visual Studio werden oft mit einem Sprachdienst zugeordnet. Unter anderem stellt ein Sprachdienst Syntaxfarbe, Anweisungsvervollständigung, IntelliSense und Textformatierung bereit.

Kern-Editoren und Dokumenten-Datenobjekte

Wenn Sie den Kern des Editors zugreifen, erstellen Sie nicht die Objekte und Dokumenten Dokumentdaten. Die IDE erstellt und steuert diese beiden Objekte, und Sie erhalten Handles darauf, indem Sie die entsprechenden Aufrufe in der Implementierung des Editors factory machen.

Weitere Informationen finden Sie unter Bestimmen, welche Editor eine Datei in einem Projekt geöffnet wird.

Sprachendienste und der Kern-Editor

Wenn Sie einen Sprachdienst implementieren, können Sie steuern, wie Daten in der Ansicht Dokumente angezeigt wird. Ein Sprachdienst, das Verhalten und stellt Informationen zu einer bestimmten Sprache bestimmt wird, wie Visual C++. Wenn Sie einen Textpuffer erstellen und die Dateinamenerweiterung für das Dokument öffnen, das bestimmt, bestimmt der Sprachdienst den Textpuffer, der mit der Dateinamenerweiterung von einem Registrierungsschlüssel HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Editoren \ zugeordnet ist TheLanguageService {GUID} \ Extensions. Standard-VSPackage, das Verfahren lädt und VSPackages geladen, dann eine Instanz des Sprachdiensts wird erstellt.

Ein grundlegender Sprachdienst wird in der folgenden Abbildung dargestellt.

Kern des Editors und Sprachdienst Objekte

Grafik zum Sprachdienstmodell

Das Dokument wird das angegebene Channeldatenobjekt für den Kern des Editors einen Textpuffer bezeichnet und wird durch das VsTextBuffer-Objekt dargestellt. Das Objekt der Dokumente ist eine Textansicht bezeichnet und wird durch das VsCodeWindow-Objekt dargestellt. Diese beiden Objekte funktionieren vom Sprachdienst zusammen, um eine einheitliche Ansicht des zentralen editors bereitzustellen. Informationen im Textpuffer und den Text anzeigen, der in einem Dokumentfenster namens ein Codefenster an. Das Codefenster Dokument wird von einem Code fenster-manager verwaltet.

Siehe auch

Referenz

IVsLanguageInfo

IVsColorizer

VsTextView

IVsCodeWindowManager

VsCodeWindow

Konzepte

Bereitstellen eines Sprachendienst-Kontext für die Verwendung des Legacy API

IntelliSense-hosten

Eingeschlossene Sprachen

Weitere Ressourcen

Entwickeln eines Sprachdienst