如何获取与 IWpfTextView 关联的 EnvDTE.Document?

erm*_*mau 3 .net c# visual-studio envdte

我有一个IWpfTextViewConnectionListener基础扩展。我需要访问与我所获得的EnvDTE.Document相关的信息。IWpfTextView我尝试过存储_DTE.ActiveDocument,但这仅适用于之前尚未打开的文件(如果文件已打开,则为null)。

如何获取正在显示的文本视图的文档对象?

Jar*_*ger 5

从 a 中IWpfTextView.TextBuffer,您可以获得ITextBuffer. 由此,您可以使用ITextDocumentFactoryService.TryGetTextDocument()来获取匹配的ITextDocument,如果存在的话。然后,ITextDocument.FilePath为您提供文件的路径。

然后,您可以枚举该DTE2.Documents集合以查找具有相同路径的打开文档。

更多信息ITextDocumentFactoryServicehttp://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.itextdocumentfactoryservice.aspx