Как я могу получить текущий редактор в Visual Studio 2008, используя C #

Я пишу надстройку для VS 2008 в C #, и я хочу знать, какой тип "области" редактора / дизайнера открыт (например, VS Editor / VB Editor "). Могу ли я поймать событие, когда изменяется область действия?

10.12.2008 13:00:12
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;

сообщает тип текущего активного окна.

1
19.01.2009 14:55:52