Modell des Sprachdiensts
Ein Sprachdienst definiert die Elemente und Funktionen für eine bestimmte Sprache und wird verwendet, um den Editor mit spezifischen Informationen zu dieser Sprache bereitzustellen. Beispielsweise muss der Editor den Elementen und Schlüsselwörter der Sprache kennen, um Syntaxfarbe zu unterstützen.
Der Sprachdienst arbeitet eng mit dem Textpuffer, der vom Editor, und die Ansicht, die verwaltete den Editor enthält. Die Option Microsoft IntelliSense QuickInfo ist ein Beispiel für eine Funktion, die einen Sprachdienst bereitgestellt wird.
Ein minimaler Sprachdienst
Die grundlegendste Sprachdienst enthält die beiden folgenden Objekte:
Der Sprachdienst implementiert die IVsLanguageInfo-Schnittstelle. Ein Sprachdienst enthält Informationen zu der Sprache, einschließlich seines Namens, Dateinamenerweiterungen, Code und fenster-manager farbige Darstellung.
Die farbige Darstellung implementiert die IVsColorizer-Schnittstelle.
Die folgende konzeptionelle Zeichnung zeigt ein Modell eines grundlegenden Sprachdiensts an.
Grundlegendes Sprachdienst Modells
Die Dokumentfenster hostet die Ansicht des Editors Dokumente in diesem Fall der Visual Studio Kern des Editors. Die Dokumente und der Textpuffer werden durch den Besitz Editor. Diese Objekte funktionieren mit Visual Studio durch ein spezialisiertes Dokumentfenster, das ein Codefensteraufgerufen wird. Das Codefenster wird in einem IVsWindowFrame-Objekt, das von der IDE erstellt und verwaltet wird.
Wenn eine Datei mit einer angegebenen Erweiterung geladen wird, sucht der Editor den Sprachdienst, der mit dieser Erweiterung zugeordnet ist, und übergibt ihr das Codefenster, indem er die GetCodeWindowManager-Methode aufgerufen wird. Der Sprachdienst gibt einen Code fenster-managerzurück, der die IVsCodeWindowManager-Schnittstelle implementiert.
Die folgende Tabelle enthält eine Übersicht über die Objekte im Modell.
Komponente |
Objekt |
Funktion |
---|---|---|
Textpuffer |
Ein Unicode-Lese-/Schreibzugriff-Textstream. Es ist möglich, Text für andere Codierungen verwendet werden soll. |
|
Codefenster |
Ein Dokumentfenster mit einem oder mehreren Textansichten enthält. Wenn der Modus Visual Studio MDI (Multiple Document Interface) ist, wird das Codefenster ein untergeordnetes MDI-Element. |
|
Textansicht |
Ein Fenster, in dem der Benutzer navigiert und Text anzeigen können, indem die Tastatur als auch die Maus verwenden. Eine Textansicht als Editor für den Benutzer angezeigt wird. Sie können Textansichten in gewöhnlichen Editorfenster, in das Fenster Ausgabe und das Direktfenster verwenden. Außerdem können Sie einem oder mehreren Textansichten in einem Fenster Code konfigurieren. |
|
Text Manager |
Verwaltet durch den SVsTextManager Dienst, aus dem Sie ein Zeiger abgerufen IVsTextManager |
Eine Komponente, die die allgemeine Informationen beibehält, die von allen Komponenten gemeinsam genutzt werden, die zuvor beschrieben werden. |
Sprachdienst |
Implementierungen abhängiges Element. IVsLanguageInfoimplementiert |
Ein Objekt, das den Editor mit sprachspezifischer Informationen wie Anweisungsvervollständigung und erhält, Syntax-Hervorhebung stützen Übereinstimmungen ab. |
Siehe auch
Konzepte
Dokumenten-Bezugspunkte und benutzerdefinierte Editoren in Dokumenten-Ansicht