【问题标题】:How can I get the current editor in visual studio 2008 using C#如何使用 C# 在 Visual Studio 2008 中获取当前编辑器
【发布时间】:2008-12-10 13:00:12
【问题描述】:

我正在用 C# 为 VS 2008 编写插件,我想知道打开了哪种编辑器/设计器“范围”(例如 VS 编辑器/VB 编辑器“)。我可以捕捉范围更改的事件吗?

【问题讨论】:

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


    【解决方案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;
    

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

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 2010-11-22
      • 1970-01-01
      • 2011-08-01
      相关资源
      最近更新 更多