Export (0) Print
Expand All

TextSelection.ReplacePattern Method

Replaces matching text throughout an entire text document.

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

bool ReplacePattern (
	[InAttribute] string Pattern,
	[InAttribute] string Replace,
	[OptionalAttribute] [InAttribute] int vsFindOptionsValue,
	[OptionalAttribute] [InAttribute] out TextRanges Tags
)
boolean ReplacePattern (
	/** @attribute InAttribute() */ String Pattern, 
	/** @attribute InAttribute() */ String Replace, 
	/** @attribute InAttribute() */ /** @attribute OptionalAttribute() */ int vsFindOptionsValue, 
	/** @attribute InAttribute() */ /** @attribute OutAttribute() */ /** @attribute OptionalAttribute() */ /** @ref */ TextRanges Tags
)
JScript does not support passing value-type arguments by reference.

Parameters

Pattern

Required. The string to find.

Replace

Required. The text to replace each occurrence of Pattern.

vsFindOptionsValue

Optional. A vsFindOptions constant indicating the behavior of ReplacePattern, such as how to search, where to begin the search, whether to search forward or backward, and the case sensitivity.

Tags

Optional. A TextRanges collection. If the matched text pattern is a regular expression and contains tagged subexpressions, then Tags contains a collection of EditPoint objects, one for each tagged subexpression.

Return Value

A Boolean value.

ReplacePattern for the TextDocument object replaces text like ReplacePattern for the TextSelection object, but it operates on the whole text document rather than just the selected text.

The ReplacePattern method for Visual Studio is incompatible with earlier versions of the ReplacePattern method, because regular expressions now have a different syntax.

public void ReplacePatternExample(DTE dte)
{
    // Create a new text file and insert 10 lines of text.
    dte.ItemOperations.NewFile(@"General\Text File", "", 
        Constants.vsViewKindPrimary);
    TextSelection txtSel = (TextSelection)dte.ActiveDocument.Selection;
    TextDocument txtDoc = (TextDocument)dte.ActiveDocument.Object("");
    EditPoint editPnt = txtDoc.StartPoint.CreateEditPoint();
    for (int i = 1; i <= 10; i++)
    {
        editPnt.Insert("This is a test." + Environment.NewLine);
    }

    if (MessageBox.Show("Replace 'test' with 'done deal'?", "", 
        MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
        TextRanges dummy = null;
        txtSel.SelectAll();
        txtSel.ReplacePattern("test", "done deal", 
            (int)vsFindOptions.vsFindOptionsNone, ref dummy);
    }
}

Community Additions

ADD
Show:
© 2014 Microsoft