Comment : prendre en charge le texte masqué dans un Service de langage héritéHow to: Provide Hidden Text Support in a Legacy Language Service

Vous pouvez créer des zones de texte masqué en plus des régions en mode plan.You can create hidden text regions in addition to outline regions. Zones de texte masqué peuvent être contrôlé par le client ou contrôlés par l’éditeur et sont utilisés pour masquer une zone de texte complètement.Hidden text regions can be client-controlled or editor-controlled and are used to hide a region of text completely. L’éditeur affiche une zone masquée comme des lignes horizontales.The editor displays a hidden region as horizontal lines. Ceci est le mode Script uniquement dans l’éditeur HTML.An example of this is the Script Only view in the HTML editor.

ProcédureProcedure

Pour implémenter une zone de texte masquéTo implement a hidden text region

  1. Appelez QueryService pour SVsTextManager.Call QueryService for SVsTextManager.

    Cela retourne un pointeur vers IVsHiddenTextManager.This returns a pointer to IVsHiddenTextManager.

  2. Appelez GetHiddenTextSession, en passant un pointeur de mémoire tampon de texte donné.Call GetHiddenTextSession, passing in a pointer for a given text buffer. Ce paramètre détermine si une texte masqué session existe déjà pour la mémoire tampon.This determines whether a hidden text session already exists for the buffer.

  3. S’il en existe déjà, puis que vous n’avez pas besoin de créer un et un pointeur à l’objet de IVsHiddenTextSession est retourné.If one already exists, then you do not need to create one and a pointer to the existing IVsHiddenTextSession object is returned. Utilisez ce pointeur pour énumérer et créer des zones de texte masqué.Use this pointer to enumerate and create hidden text regions. Sinon, appelez CreateHiddenTextSession pour créer une session de texte masqué pour la mémoire tampon.Otherwise, call CreateHiddenTextSession to create a hidden text session for the buffer.

    Un pointeur vers le IVsHiddenTextSession est retourné.A pointer to the IVsHiddenTextSession object is returned.

    Note

    Lorsque vous appelez CreateHiddenTextSession, vous pouvez spécifier un client de texte masqué (autrement dit, IVsHiddenTextClient).When you call CreateHiddenTextSession, you can specify a hidden text client (that is, IVsHiddenTextClient). Le client de texte masqué vous avertit lorsque le texte masqué ou le mode plan est développé ou réduit par l’utilisateur.The hidden text client notifies you when hidden text or outlining is expanded or collapsed by the user.

  4. Appelez AddHiddenRegions d’ajouter un ou plusieurs nouvelles montrer les régions à la fois, en spécifiant les informations suivantes dans le reHidReg (NewHiddenRegion) paramètre :Call AddHiddenRegions to add one or more new outline regions at a time, specifying the following information in the reHidReg (NewHiddenRegion) parameter:

    1. Spécifiez la valeur hrtConcealed dans les iType membre de la NewHiddenRegion structure pour indiquer que vous créez une zone masquée, plutôt que d’une région en mode plan.Specify a value of hrtConcealed in the iType member of the NewHiddenRegion structure to indicate that you are creating a hidden region, rather than an outline region.

      Note

      Lorsque les régions masquées sont masquées, l’éditeur affiche automatiquement les lignes dans les zones masquées pour indiquer leur présence.When concealed regions are hidden, the editor automatically displays lines around the hidden regions to indicate their presence.

    2. Spécifiez si la région est contrôlé par le client ou dépendant de l’éditeur dans le dwBehavior membres de le NewHiddenRegion structure.Specify whether the region is client-controlled or editor-controlled in the dwBehavior members of the NewHiddenRegion structure. Votre implémentation de mode plan intelligente peut contenir une combinaison de plan de l’éditeur - et contrôlé par le client et les zones de texte masqué.Your smart outlining implementation can contain a mix of editor- and client-controlled outline and hidden text regions.