【发布时间】:2010-12-30 22:45:16
【问题描述】:
我正在用 C# 开发一个 VSPackage,我想知道当只有一个文件(或在 Visual Studio 中打开多个文件)时如何获取当前文件。
当有层次结构时一切正常(打开一个真正的解决方案)。但是当我在 Visual Studio 中打开单个文件时,我无法获得当前选择。我的意思是打开 Visual Studio(没有解决方案)和 select File -> Open -> File。
我需要获取其中之一:itemid、documentCookie、mkDocumentName 或其他。
我尝试了以下方法:
-
IVsMonitorSelection.GetCurrentSelection()-> 它总是检索没有层次结构的解决方案项 id (Intpr.Zero) -
IVsSelectionEvents-> 我尝试监听选择事件,新的 itemId 始终是解决方案 itemid -
RunningDocumentTable-> 好吧,我快找到解决方案了,因为我可以枚举打开的文件,但我不确定如何确定哪个是当前文件。
【问题讨论】:
标签: c# visual-studio vs-extensibility vspackage