DTE.ActiveDocument更改时收到通知

Nei*_*ell 10 .net c# visual-studio-2008 visual-studio

我正在编写Visual Studio 2008扩展.我希望每次DTE.ActiveDocument更改时都会收到通知,因此我可以在自定义面板中更新某些内容,该面板执行与解决方案资源管理器类似的功能.我还没有找到发生这种情况时发生的任何事件.有这样的事件吗?

具体来说,我正在寻找类似的东西:

var dte = GetService(typeof(EnvDTE._DTE)) as EnvDTE.DTE;
dte.Events.DTEEvents.ActiveDocumentChanged += s => {
    // implies dte.ActiveDocument has changed value
}
Run Code Online (Sandbox Code Playgroud)

Ars*_*yan 6

我相信你正在寻找这个活动

_applicationObject.Events.WindowEvents.WindowActivated
Run Code Online (Sandbox Code Playgroud)

检查GotFocus.Document == null您是否只对文档激活更改感兴趣

希望这可以帮助