我正在尝试在 Visual Studio 2010 扩展中使用新的文本编辑器代码模型来删除类主体。也就是说,我正在尝试使用 ITextEdit 上的 Delete 方法来删除大括号之间的所有内容。
我可以使用
codeClass.GetStartPoint(vsCMPart.vsCMPartBody).CreateEditPoint().AbsoluteCharOffset
和
codeClass.GetEndPoint(vsCMPart.vsCMPartBody).CreateEditPoint().AbsoluteCharOffset
CodeClass 接口上的方法。如果我再从当前 IWpfTextViewHost 的 ITextBuffer 中得到一个 ITextEdit,然后尝试删除:
iTextEdit.Delete(startCharOffset, endCharOffset - startCharOffset);
删除不正确。旧模型上的 AbsoluteCharOffset 与新文本模型中的位置之间似乎没有 1:1 的映射。
如何在两个模型之间进行交互?
在此先感谢您的帮助。