我正在开发一个扩展,基本上需要替换当前窗口中的文本。我可以像这样调用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");
它有效。唯一的问题是,当用户试图撤消替换时,文本会逐行返回,而不是作为一个大块 - 所以我认为应该有更好的方法......
答案 0 :(得分:1)
Duh ..这个:
EditPoint ep = txt.CreateEditPoint(txt.StartPoint);
ep.Delete(txt.EndPoint);