1

C# で VS 2008 用のアドインを作成していますが、開いているエディター/デザイナーの "スコープ" の種類 (VS エディター/VB エディターなど) を知りたいのですが、スコープが変更されたイベントをキャッチできますか?

4

1 に答える 1

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;

現在アクティブなウィンドウのタイプを示します。

于 2009-01-19T13:35:00.427 に答える