Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Visual Studio Environment SDK-Editoren, einschließlich des Kern-Editors, verwenden Sprachdienste, um bestimmte syntaktische Elemente zu identifizieren und mit angegebenen Farben für eine bestimmte Dokumentansicht anzuzeigen.
Färbungsanforderungen
Alle Editoren, die den Farbizer eines Sprachdiensts implementieren, müssen:
Verwenden Sie ein Objekt, das IVsTextBuffer implementiert, um den Text einzufärben, und ein Objekt, das IVsTextView implementiert, um eine Dokumentansicht des Texts bereitzustellen.
Rufen Sie eine Schnittstelle zu einem bestimmten Sprachdienst ab, indem Sie den Dienstanbieter des VSPackage mithilfe der GUID des Sprachdienstes abfragen.
Rufen Sie die SetLanguageServiceID-Methode des Objekts auf, das IVsTextBuffer implementiert. Diese Methode ordnet den Sprachdienst der IVsTextBuffer Implementierung zu, die vom VSPackage verwendet wird, um den text zu verwalten, der coloriert werden soll.
Grundlegende Nutzung des Editors eines Sprachdienstes für farbige Darstellung
Wenn ein Sprachdienst mit einem Colorizer von einer Instanz des Kern-Editors abgerufen wird, erfolgt die Analyse und das Rendern von Text durch den Farbizer eines Sprachdiensts automatisch, ohne dass weitere Eingriffe erforderlich sind.
Die IDE transparent:
Ruft den Colorizer nach Bedarf auf, um Text zu parsen und zu analysieren, während er in der Implementierung hinzugefügt IVsTextBuffer oder geändert wird.
Stellt sicher, dass die von der IVsTextView Implementierung bereitgestellte Dokumentansicht aktualisiert und neu gezeichnet wird, indem die vom Farbgeber zurückgegebenen Informationen verwendet werden.
Nicht-Kernnutzung des Syntax-Highlighters eines Sprachdienstes im Editor
Nicht-Core-Editorinstanzen können auch den Syntaxhervorhebungsdienst eines Sprachdienstes verwenden, aber sie müssen den Colorizer des Dienstes explizit abrufen und anwenden sowie ihre Dokumentansichten selbst neu zeichnen.
Dazu muss ein Nicht-Core-Editor:
Rufen Sie ein Colorizerobjekt eines Sprachdienstes (das IVsColorizer und IVsColorizer2 implementiert) ab. VSPackage führt dies durch Aufrufen der GetColorizer Methode in der Schnittstelle des Sprachdienstes aus.
Rufen Sie die ColorizeLine Methode auf, um anzufordern, dass eine bestimmte Textspanne farbbar ist.
Die ColorizeLine-Methode gibt ein Array von Werten zurück, wobei jedem Buchstaben in der Textspanne, die farbig gemacht wird, ein Wert zugeordnet wird. Außerdem wird die Textspanne als ein bestimmter Typ von farbigem Element identifiziert, z. B. ein Kommentar, ein Schlüsselwort oder ein Datentyp.
Verwenden Sie die Farbinformationen, die von ColorizeLine zurückgegeben werden, um den Text neu darzustellen und anzuzeigen.
Hinweis
Zusätzlich zur Verwendung des Farbizers eines Sprachdiensts kann ein VSPackage den allgemeinen Visual Studio Environment SDK-Textfarbmechanismus verwenden. Weitere Informationen zu diesem Mechanismus finden Sie unter Verwenden von Schriftarten und Farben.