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

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

1 Ответ

1 голос
/ 19 января 2009

Я не могу попробовать прямо сейчас, поэтому возьмите с собой крупицу соли:

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;

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

...