如何使用C#在visual studio 2008中获取当前编辑器

时间:2008-12-10 13:00:12

标签: c# visual-studio-2008 add-in

我正在用C#编写VS 2008的插件,我想知道打开哪种编辑器/设计器“范围”(例如VS Editor / VB Editor“)。我可以捕获范围发生变化的事件吗? ?

1 个答案:

答案 0 :(得分:1)

我现在不能尝试,所以带上一粒盐:

public class Connect : IDTExtensibility2, IDTCommandTarget
{
    public void OnConnection( object application, ext_ConnectMode connectMode, 
        object addInInst, ref Array custom )
    {
        _applicationObject = ( DTE2 ) application;
        _applicationObject.Events.SelectionEvents.OnChange += SelectionEvents_OnChange;
    }

    void SelectionEvents_OnChange()
    {
        vsWindowType type = _applicationObject.ActiveWindow.Type;
        // switch (type) { ... }
    }
}

编辑:也许选择 - 事件不是你需要的。我不知道是否还有其他事件可以挂钩。无论如何这条线

vsWindowType type = _applicationObject.ActiveWindow.Type;

告诉您当前活动窗口的类型。