我想在Visual Studio 2010擴展中使用新的文本編輯器代碼模型來刪除類體。也就是說,我試圖使用ITextEdit上的Delete方法來刪除大括號之間的所有內容。如何在EditPoint.AbsoluteCharOffset的iTextEdit中找到相應的位置
我可以使用CodeClass接口上的
codeClass.GetStartPoint(vsCMPart.vsCMPartBody).CreateEditPoint().AbsoluteCharOffset
和
codeClass.GetEndPoint(vsCMPart.vsCMPartBody).CreateEditPoint().AbsoluteCharOffset
方法可以訪問類的起點和終點的絕對字符位置。如果我再拿到從目前IWpfTextViewHost的ITextBuffer的ITextEdit,然後再試着刪除:
iTextEdit.Delete(startCharOffset, endCharOffset - startCharOffset);
刪除不正確。看起來舊模型上的AbsoluteCharOffset與新文本模型中的位置之間不存在1:1映射。
如何在兩種模型之間進行交互?
在此先感謝您的幫助。