|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Assembly: EnvDTE (in envdte.dll)
The TextPoint object allows you to find locations in a document. Using the properties of the TextPoint object, you can find text with:
Character numbers in a line
Absolute character locations from the beginning of the document
TextPoint objects are similar toobjects, 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 itsproperty 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 aobject 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 TextPointendpt = 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