TextPoint Interface

Represents a location of text in a text document.

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

Syntax

'Declaration
<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")> _
Public Interface TextPoint
[GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface TextPoint
[GuidAttribute(L"7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface class TextPoint
[<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")>]
type TextPoint =  interface end
public interface TextPoint

The TextPoint type exposes the following members.

Properties

  Name Description
Public property AbsoluteCharOffset Gets the one-based character offset from the beginning of the document to the TextPoint object.
Public property AtEndOfDocument Gets whether the object is at the end of the document.
Public property AtEndOfLine Gets whether or not object is at the end of a line.
Public property AtStartOfDocument Gets whether or not the object is at the beginning of the document.
Public property AtStartOfLine Gets whether or not the object is at the beginning of a line.
Public property CodeElement Returns the code element at the TextPoint location.
Public property DisplayColumn Gets the number of the current displayed column containing the TextPoint object.
Public property DTE Gets the top-level extensibility object.
Public property Line Gets the line number of the object.
Public property LineCharOffset Gets the character offset of the object.
Public property LineLength Gets the number of characters in a line containing the object, excluding the new line character.
Public property Parent Gets the immediate parent object of a TextPoint object.

Top

Methods

  Name Description
Public method CreateEditPoint Creates and returns an EditPoint object at the location of the calling object.
Public method EqualTo Returns whether the value of the given point object's AbsoluteCharOffset property is equal to that of the calling TextPoint object.
Public method GreaterThan Indicates whether or not the value of the calling object's AbsoluteCharOffset property is greater than that of the given point object.
Public method LessThan Indicates whether or not the value of the called object's AbsoluteCharOffset property is less than that of the given object.
Public method TryToShow Attempts to display the text point's location.

Top

Remarks

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.

Examples

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

See Also

Reference

EnvDTE Namespace