其他分享
首页 > 其他分享> > 我如何获取与IWpfTextView关联的EnvDTE.Document?

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

作者:互联网

我有一个基于IWpfTextViewConnectionListener的扩展.我需要访问与给出的IWpfTextView关联的EnvDTE.Document.我曾尝试存储_DTE.ActiveDocument,但这仅适用于以前尚未打开的文件(如果该文件已经打开,则为null).

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

解决方法:

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

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

有关ITextDocumentFactoryService的更多信息:http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.itextdocumentfactoryservice.aspx

标签:envdte,c,net,visual-studio
来源: https://codeday.me/bug/20191031/1976099.html