IVsTextMarker Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides methods for managing text markers.
public interface class IVsTextMarker
public interface class IVsTextMarker
__interface IVsTextMarker
[System.Runtime.InteropServices.ComConversionLoss]
[System.Runtime.InteropServices.Guid("950122D9-1A51-43CA-8CED-B5D9E42DE1B5")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsTextMarker
[System.Runtime.InteropServices.ComConversionLoss]
[System.Runtime.InteropServices.Guid("950122D9-1A51-43CA-8CED-B5D9E42DE1B5")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsTextMarker
[<System.Runtime.InteropServices.ComConversionLoss>]
[<System.Runtime.InteropServices.Guid("950122D9-1A51-43CA-8CED-B5D9E42DE1B5")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsTextMarker = interface
[<System.Runtime.InteropServices.ComConversionLoss>]
[<System.Runtime.InteropServices.Guid("950122D9-1A51-43CA-8CED-B5D9E42DE1B5")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsTextMarker = interface
Public Interface IVsTextMarker
- Derived
- Attributes
Remarks
The text marker tracks edits in its owning text buffer and maintains the position data so that interested parties can query the new position information post-edit.
Note
If any part of the text range specified in the text marker is involved in an edit, the marker becomes invalid.
There are several ways that you can access IVsTextMarker:
Implement IVsTextMarkerClient. If you provide an IVsTextMarkerClient when you create the text marker using CreateLineMarker or CreateStreamMarker then the environment will call you with a pointer to
IVsTextMarker
whenever you need to provide a custom context menu, tip text, or need to change the appearance or behavior of a text marker that has moved.Save the IVsTextMarker pointer. If you are only creating one or two specific markers, you can save the pointer to each of these markers for later use.
Query for the marker using IVsTextLines::EnumMarkers or EnumMarkers. If you do not want to wait for the IVsTextMarkerClient method to call you can access IVsTextMarker by using the following approach:
Call EnumMarkers to get a pointer to IVsEnumLineMarkers.
-or-
Call EnumMarkers to get a pointer to IVsEnumStreamMarkers.
Call Next or Next to access the appropriate text marker. These methods will return the IVsTextLineMarker pointer for the text marker.
Call Query Interface from IVsTextLineMarker to obtain a pointer to
IVsTextMarker
.
See illustrations of the calling of this interface in the sample Figures Language Service.
Notes to Callers
Call IVsTextMarker when you need to track positional and edit information in the text buffer.
Methods
DrawGlyph(IntPtr, RECT[]) |
Draws a glyph in the widget margin given a display context and bounding rectangle. |
ExecMarkerCommand(Int32) |
Executes a text marker command against a marker. |
GetBehavior(UInt32) |
Returns a text marker behavior set by the SetBehavior(UInt32) method. |
GetMarkerCommandInfo(Int32, String[], UInt32[]) |
Returns text marker command information. |
GetPriorityIndex(Int32) |
Returns the text marker priority index, with the highest value getting the topmost placement. |
GetTipText(String[]) |
Returns the text to display in a tip for the marker type. |
GetType(Int32) |
Returns a text marker type. |
GetVisualStyle(UInt32) |
Returns the visual style of a marker type. |
Invalidate() |
Prevents a text marker from appearing in the user interface. |
SetBehavior(UInt32) |
Sets the behavior of a text marker. |
SetType(Int32) |
Sets a text marker type. |
SetVisualStyle(UInt32) |
Sets the visual style of a marker type. |
UnadviseClient() |
Unadvises the client, if there is one. |