Visual studio 2013 Visual Studio扩展:跟踪新代码窗口何时打开?
我正在尝试编写一个VisualStudio扩展,它跟踪新代码窗口打开时的情况。我发现了一个类Visual studio 2013 Visual Studio扩展:跟踪新代码窗口何时打开?,visual-studio-2013,visual-studio-extensions,Visual Studio 2013,Visual Studio Extensions,我正在尝试编写一个VisualStudio扩展,它跟踪新代码窗口打开时的情况。我发现了一个类IVsCodeWindowEvents,它似乎为该类提供了侦听器方法: public int OnNewView(IVsTextView pView) 然而,我有一个问题,我不知道如何注册来收听这些活动 我的班级是这样的: public sealed class VSTrackerPackage : Package, IVsCodeWindowEvents 在这个类中,我实现了OnNewView方法,
IVsCodeWindowEvents
,它似乎为该类提供了侦听器方法:
public int OnNewView(IVsTextView pView)
然而,我有一个问题,我不知道如何注册来收听这些活动
我的班级是这样的:
public sealed class VSTrackerPackage : Package, IVsCodeWindowEvents
在这个类中,我实现了OnNewView方法,但是如何在我的
Initialize
方法中注册这个侦听器呢?是的,您可以通过和更具体地注册Visual Studio事件
第一步是通过Initialize
方法从包中获取访问权限:
public sealed class VSTrackerPackage : Package
{
DTE2 dte = GetService(typeof (DTE)) as DTE2;
}
在这一点上,我建议附加到事件。从那里你可以检查它是否是你感兴趣的文件。如果需要与窗口进行交互,也可以获取该窗口:
_dte.Events.DocumentEvents.DocumentOpened += document =>
{
//double check this logic.
if (document.Language != "C#")
return;
//do work
//or - load window document.ActiveWindow.
};
如果有帮助的话,我有一个开源的VisualStudio插件(shammeluss plug:),它连接到许多VS事件。相关类位于GitHub:。课程定义从第243行开始。非常感谢,这非常有效!但现在我已经有了下一个问题。我希望在“代码”窗口中选择新方法时收到通知。我引用了DropDownBarManager,但似乎没有相关的DropDownBar。还有其他简单的为什么要注册这些活动吗?这听起来像是一个新问题!把它写下来,在这里贴上链接,我会看看我能做些什么来帮助你。非常感谢,帮助会很好。这是一个新问题: