We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

TextPoint Interface

Represents a location of text in a text document.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

public interface class TextPoint

The TextPoint type exposes the following members.

Public propertyAbsoluteCharOffsetGets the one-based character offset from the beginning of the document to the TextPoint object.
Public propertyAtEndOfDocumentGets whether the object is at the end of the document.
Public propertyAtEndOfLineGets whether or not object is at the end of a line.
Public propertyAtStartOfDocumentGets whether or not the object is at the beginning of the document.
Public propertyAtStartOfLineGets whether or not the object is at the beginning of a line.
Public propertyCodeElementReturns the code element at the TextPoint location.
Public propertyDisplayColumnGets the number of the current displayed column containing the TextPoint object.
Public propertyDTEGets the top-level extensibility object.
Public propertyLineGets the line number of the object.
Public propertyLineCharOffsetGets the character offset of the object.
Public propertyLineLengthGets the number of characters in a line containing the object, excluding the new line character.
Public propertyParentGets the immediate parent object of a TextPoint object.

Public methodCreateEditPointCreates and returns an EditPoint object at the location of the calling object.
Public methodEqualToReturns whether the value of the given point object's AbsoluteCharOffset property is equal to that of the calling TextPoint object.
Public methodGreaterThanIndicates whether or not the value of the calling object's AbsoluteCharOffset property is greater than that of the given point object.
Public methodLessThanIndicates whether or not the value of the called object's AbsoluteCharOffset property is less than that of the given object.
Public methodTryToShowAttempts to display the text point's location.

The TextPoint object allows you to find locations in a document. Using the properties of the TextPoint object, you can find text with:

  • Line numbers

  • Character numbers in a line

  • Absolute character locations from the beginning of the document

  • Display columns

TextPoint objects are similar to EditPoint objects, except that they operate on text displayed in a code editor rather than data in the text buffer. Text in a document is affected by global editor states, such as word wrapping and virtual spaces, but the text buffer is not.

As you edit a document, TextPoint objects do not move relative to their surrounding text. That is, if text is inserted before a text point, then the value of its AbsoluteCharOffset property is incremented to reflect its new location further down in the document. If multiple TextPoint objects are at the same location and an EditPoint object is used to insert new text, then the new characters are to the right of all of the TextPoint objects except the one used to insert the text.

Any operation that attempts to modify a TextDocument object fails if the TextDocument is read-only.

Sub TextPointExample()
   ' Comments a region of code.
   Dim selection As TextSelection
   selection = dte.ActiveDocument.selection()
   Dim Start As Editpoint
   Start = selection.TopPoint.CreateEditPoint()
   Dim endpt As TextPoint
   endpt = selection.BottomPoint
   Dim undoObj As UndoContext = dte.UndoContext
   undoobj.Open("Comment Region")
   Do While (Start.LessThan(endpt))
End Sub