Text-Ebenen mithilfe des Legacy API zugreifen
Eine Text der Ebene kapselt normalerweise alle Aspekte der Textlayouts. Zum Beispiel simsen Felle einer „FUNCTION-an-ein TIMEs“ Ebene vor und nach einer Funktion, die die Einfügemarke enthält (Texteinfügemarke).
Eine Text der Ebene befindet sich zwischen einem Puffer und einer Ansicht und ändert die Art und Weise die Ansicht der Inhalt des Puffers anzuzeigen.
Text-Ebenen-Informationen
In der folgenden Liste wird beschrieben, wie Text in Visual StudioEbenen arbeiten:
Der Text in a Text der Ebene kann mit Markern und Syntaxfarbe verziert werden.
Sie können nicht nur implementieren, Ebenen verfügen.
Eine Ebene verfügbar macht IVsTextLayer, die von IVsTextLinesabgeleitet ist. Der Textpuffer selbst wird auch als Stufe implementiert, die eine Ansicht ermöglicht, polymorphically zugrunde liegenden Ebenen zu arbeiten.
Beliebige Anzahl von Ebenen befindet sich zwischen der Ansicht und dem Puffer. Jede Ebene behandelt nur die Ebene unterhalb sie, und die Ansicht verarbeitet größtenteils die oberste Ebene. (Die Ansicht enthält einige Informationen über den Puffer.)
Eine Ebene kann nur Ebenen auswirken, die unter sie sind. Es kann die Ebenen darüber über das Auslösen von Ereignissen Standard nicht hinaus auswirken.
Im Editor wird ausgeblendeter Text, synthetischer Text und Zeilenvorschub als Ebenen implementiert. Sie können auch ausgeblendeter Text synthetischen implementieren, ohne direkt mit den Ebenen zu interagieren. Weitere Informationen finden Sie unter Gliedern (Managed Paketframework) und IVsSyntheticTextSession.
Jede Text Anwendungsebene hat ein eigenes lokales Koordinatensystem, das von der IVsTextLayer-Schnittstelle verfügbar gemacht wird. Die Zeile Umbruch Ebene könnte beispielsweise zwei Zeilen, während der zugrunde liegenden Textpuffer möglicherweise nur eine Zeile enthält.
Die Ansicht wird mit Ebenen von der IVsLayeredTextView-Schnittstelle. Verwenden Sie diese Schnittstelle, um Puffer mit Koordinaten Ansicht Koordinaten zuzuordnen.
Jede Ebene wie die synthetische Text der Ebene, die Text auslöst, muss eine lokale Implementierung des CreateTrackingPointbereitstellen.
Neben IVsTextLayermuss eine Text der Ebene IConnectionPointContainer implementieren und die Ereignisse in der IVsTextLinesEvents-Schnittstelle auslösen.
Siehe auch
Konzepte
Syntaxfarbe in den benutzerdefinierten Editoren