TextRange Interface

Represents a single, contiguous section of text in a text document.

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

Syntax

'Declaration
<GuidAttribute("72767524-E3B3-43D0-BB46-BBE1D556A9FF")> _
Public Interface TextRange
'Usage
Dim instance As TextRange
[GuidAttribute("72767524-E3B3-43D0-BB46-BBE1D556A9FF")]
public interface TextRange
[GuidAttribute(L"72767524-E3B3-43D0-BB46-BBE1D556A9FF")]
public interface class TextRange
public interface TextRange

Remarks

The section of text is enclosed by a pair of EditPoint objects.

TextRange objects are used when you have regular expressions with tagged subexpressions. A collection of ranges is returned, one for each matched subexpression, and their properties are read-only.

For general text manipulation, it is recommended that you instead use objects such as TextSelection or EditPoint, because the TextSelection object relates directly to the selection visible on the screen. When the selection area changes, the object's coordinates change, and vice-versa. As a result, a text selection cannot be used to represent an arbitrary range of text without disrupting that text selection.

Examples

Sub TextRangeExample(ByVal dte As EnvDTE.DTE)
    Dim objTxtSel As TextSelection
    Dim colRanges As TextRanges
    Dim objRange As TextRange
    Dim objEP As EditPoint

    objTxtSel = dte.ActiveDocument.Selection
    colRanges = objTxtSel.TextRanges
    For Each objRange In colRanges
        objRange.StartPoint.Insert("/*")
        objRange.EndPoint.Insert("*/")
    Next
End Sub
public void TextRangeExample(_DTE dte)
{
    TextSelection ts;
    TextRanges trs;

    ts = (TextSelection)dte.ActiveDocument.Selection;
    trs = ts.TextRanges;
    MessageBox.Show (trs.Count.ToString ());
    foreach (TextRange tr in trs)
    {
        tr.StartPoint.Insert ("/*");
        tr.EndPoint.Insert ("*/");
    }
}

See Also

Reference

TextRange Members

EnvDTE Namespace