1

我正在开发一个扩展,基本上需要替换当前窗口中的文本。我可以这样调用 ReplacePattern

 EnvDTE80.DTE2 app = GetActiveIDE();
 TextDocument txt = app.ActiveDocument.Object("TextDocument") as TextDocument;
 EditPoint ep = txt.CreateEditPoint(txt.StartPoint);
 txt.ReplacePattern(".*", string.Empty, (int)vsFindOptions.vsFindOptionsRegularExpression);
 ep.Insert("blah");

它有效。唯一的问题是,当用户尝试撤消替换时,文本会逐行返回,而不是单个大块 - 所以我认为应该有更好的方法......

4

1 回答 1

1

呃..这个:

EditPoint ep = txt.CreateEditPoint(txt.StartPoint);
ep.Delete(txt.EndPoint);
于 2012-02-04T19:03:10.323 回答