Comment : ajouter des marqueurs de texte StandardHow to: Add Standard Text Markers

Utilisez la procédure suivante pour créer un des types de marqueur de texte par défaut fournis avec le Visual StudioVisual Studio éditeur principal.Use the following procedure to create one of the default text marker types provided with the Visual StudioVisual Studio core editor.

Pour créer un marqueur de texteTo create a text marker

  1. Selon que vous utilisez un ou deux dimensions, appelez le CreateLineMarker méthode ou la CreateStreamMarker méthode pour créer un nouveau marqueur de texte.Depending on whether you are using a one or two- dimensional coordinate system, call the CreateLineMarker method or the CreateStreamMarker method to create a new text marker.

    Dans cet appel de méthode, spécifiez un type de marqueur, une plage de texte pour créer le marqueur et un IVsTextMarkerClient interface.In this method call, specify a marker type, a range of text to create the marker over, and an IVsTextMarkerClient interface. Ensuite, cette méthode retourne un pointeur au marqueur de texte qui vient d’être créé.This method then returns a pointer to the newly created text marker. Types de marqueur sont tirées de la MARKERTYPE énumération.Marker types are taken from the MARKERTYPE enumeration. Spécifiez un IVsTextMarkerClient interface si vous souhaitez être informé des événements de marqueur.Specify an IVsTextMarkerClient interface if you want to be informed of marker events.

    Note

    Créer des marqueurs de texte sur le thread principal dans l’interface utilisateur.Create text markers on the main UI thread only. L’éditeur principal s’appuie sur le contenu de la mémoire tampon de texte pour créer des marqueurs de texte et la mémoire tampon de texte n’est pas thread-safe.The core editor relies on the contents of the text buffer to create text markers and the text buffer is not thread safe.

Ajout d’une commande personnaliséeAdding a Custom Command

Mise en œuvre le IVsTextMarkerClient interface et en fournissant un pointeur à celui-ci à partir d’un marqueur améliore le comportement de marqueur de plusieurs façons.Implementing the IVsTextMarkerClient interface and providing a pointer to it from a marker enhances marker behavior in several ways. Tout d’abord, cela permet de vous fournissent des conseils pour le curseur et d’exécuter des commandes.First, this allows you to provide tips for your marker and to execute commands. Cela vous permet également de recevoir des notifications d’événements pour les marqueurs individuels et pour créer un menu contextuel personnalisé sur le marqueur.This also allows you to receive event notifications for individual markers and to create a custom context menu over the marker. Utilisez la procédure suivante pour ajouter une commande personnalisée au menu contextuel marqueur.Use the following procedure to add a custom command to the marker context menu.

Pour ajouter une commande personnalisée au menu contextuelTo add a custom command to the context menu

  1. Avant que le menu contextuel s’affiche, l’environnement appelle le GetMarkerCommandInfo méthode et passe vous un pointeur vers le marqueur de texte concerné et le numéro de l’élément de commande dans le menu contextuel.Before the Context menu is displayed, the environment calls the GetMarkerCommandInfo method and passes you a pointer to the text marker affected and the number of the command item in the context menu.

    Par exemple, les commandes de point d’arrêt spécifique dans le menu contextuel incluent supprimer un point d’arrêt via nouveau point d’arrêt, comme indiqué dans la capture d’écran suivante.For example, the breakpoint-specific commands on the context menu include Remove Breakpoint through New Breakpoint, as displayed in the following screenshot.

    Menu contextuel marqueurMarker Context Menu

  2. Passer du texte identifiant le nom de la commande personnalisée.Pass back some text identifying the name of the custom command. Par exemple, supprimer un point d’arrêt peut être une commande personnalisée si l’environnement n’a pas déjà fourni il.For example, Remove Breakpoint might be a custom command if the environment did not already provide it. Vous passez également si la commande est pris en charge, disponible et activée et/ou un bouton bascule marche / arrêt.You also pass back whether the command is supported, available and enabled, and/or an on-off toggle. L’environnement utilise ces informations pour afficher la commande personnalisée dans le menu contextuel de la façon correcte.The environment uses this information to display the custom command in the context menu in the correct way.

  3. Pour exécuter la commande, l’environnement appelle le ExecMarkerCommand méthode, en passant un pointeur vers le marqueur de texte et le numéro de la commande sélectionnée dans le menu contextuel.To execute the command, the environment calls the ExecMarkerCommand method, passing you a pointer to the text marker and the number of the command selected from the context menu.

    Utilisez ces informations à partir de cet appel pour exécuter toute action de marqueur de texte dicte de votre commande personnalisée.Use this information from this call to execute whatever actions of the text marker your custom command dictates.

Voir aussiSee Also

À l’aide de marqueurs de texte avec l’API hérité Using Text Markers with the Legacy API
Comment : implémenter des marqueurs d’erreur How to: Implement Error Markers
Comment : créer des marqueurs de texte personnalisé How to: Create Custom Text Markers
Comment : utiliser des marqueurs de texteHow to: Use Text Markers