Represents a location of text in a text document.
Assembly: EnvDTE (in EnvDTE.dll)
Thetype exposes the following members.
|AbsoluteCharOffset||Gets the one-based character offset from the beginning of the document to the object.|
|AtEndOfDocument||Gets whether the object is at the end of the document.|
|AtEndOfLine||Gets whether or not object is at the end of a line.|
|AtStartOfDocument||Gets whether or not the object is at the beginning of the document.|
|AtStartOfLine||Gets whether or not the object is at the beginning of a line.|
|CodeElement||Returns the code element at the location.|
|DisplayColumn||Gets the number of the current displayed column containing the object.|
|DTE||Gets the top-level extensibility object.|
|Line||Gets the line number of the object.|
|LineCharOffset||Gets the character offset of the object.|
|LineLength||Gets the number of characters in a line containing the object, excluding the new line character.|
|Parent||Gets the immediate parent object of a object.|
|CreateEditPoint||Creates and returns an EditPoint object at the location of the calling object.|
|EqualTo||Returns whether the value of the given point object's AbsoluteCharOffset property is equal to that of the calling object.|
|GreaterThan||Indicates whether or not the value of the calling object's AbsoluteCharOffset property is greater than that of the given point object.|
|LessThan||Indicates whether or not the value of the called object's AbsoluteCharOffset property is less than that of the given object.|
|TryToShow||Attempts to display the text point's location.|
The object allows you to find locations in a document. Using the properties of the object, you can find text with:
Character numbers in a line
Absolute character locations from the beginning of the document
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, 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 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 objects except the one used to insert the text.
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)) Start.Insert("//") Start.LineDown() Start.StartOfLine() Loop undoobj.Close() End Sub