Partager via


Couches d'accès de texte à l'aide de l'API héritée

Une couche de texte encapsule en général un aspect de disposition du texte. Par exemple, les masque d'une couche de « fonction-à-un-fois » texte avant et après une fonction contenant le signe insertion (point d'insertion de texte).

Une couche de texte réside entre une mémoire tampon et une vue, et elle modifie la façon dont la vue comment afficher le contenu de la mémoire tampon.

Les informations de couche de texte

La liste suivante décrit comment les couches de texte s'exécutent dans Visual Studio:

  • Le texte dans une couche de texte peut être orné avec la coloration de syntaxe et le.

  • Vous ne pouvez actuellement pas implémenter vos propres couches.

  • une couche expose IVsTextLayer, qui est dérivée d' IVsTextLines. La mémoire tampon de texte lui-même est également implémentée en tant que couche, qui permet à une vue pour traiter polymorphically les couches sous-jacentes.

  • Plusieurs couches peuvent reposer entre l'affichage et la mémoire tampon. Chaque couche traite uniquement la couche dessous, et la vue traite en grande partie de la couche supérieure. (La vue a des informations à propos de la mémoire tampon.)

  • Une couche peut affecter uniquement les couches inférieures à elle. Il ne peut pas affecter les couches au-dessus au delà de lancer les événements standard.

  • Dans l'éditeur, le texte masqué, le texte synthétique, et le retour automatique à la ligne sont implémentées comme des couches. vous pouvez implémenter le texte masqué et synthétique sans interagir directement avec les couches. Pour plus d'informations, consultez Mode plan (managed de package) et IVsSyntheticTextSession.

  • Chaque couche de texte a son propre système de coordonnées local qui est exposé via l'interface d' IVsTextLayer . La couche de ligne-enveloppe, par exemple, peut contenir deux lignes pendant que la mémoire tampon sous-jacente peut contenir qu'une seule ligne.

  • La vue communique avec les couches via l'interface d' IVsLayeredTextView . Utilisez cette interface pour rapprocher des coordonnées de vue contenant les coordonnées de mémoire tampon.

  • Toute couche comme la couche synthétique de texte qui lance le texte doit fournir une implémentation locale d' CreateTrackingPoint.

  • Outre l' IVsTextLayer, une couche de texte doit implémenter IConnectionPointContainer et déclencher des événements dans IVsTextLinesEvents interface.

Voir aussi

Concepts

coloration de syntaxe dans les éditeurs personnalisés

Autres ressources

Utilisation des marqueurs de texte avec l'API héritée

personnaliser des contrôles d'édition et des menus à l'aide de l'API héritée