2017-11-20 12 views
0

私は、IDEの開始ページが開かれたときに読み込まれることによって利益を得るVisual Studio拡張機能に取り組んでいますが、拡張機能が登録できる開始ページが開かれたときに起動されるイベントは見つかりません。Visual Studio Extensionが購読できるVisual Studioの開始ページオープンイベントはありますか?

IDEを開いたときに起動する私のvsixパッケージに次の属性を追加できますが、開始ページそのものに固有のものを探しています。

[ProvideAutoLoad(UIContextGuids80.NoSolution)] 

デフォルトの開始ページまたはカスタムの開始ページを開いたときに発生するイベントはありますか?

+0

、私はそれが私はこれを試し – ErikEJ

答えて

0

最後に、私はWindowVisibilityEvents(Carlos Quinteroからのこの古いポストの礼儀https://www.mztools.com/articles/2011/MZ2011010.aspx)の購読と、それが見えるようになったときのウィンドウのタイプとタイトルを確認して、この作業を終えました。

次は私のVSIXパッケージのクラスのコードのカットダウン版です:ユーザーが任意のスタートページを持つオプトアウトできることを考えると

protected override void Initialize() 
    { 
     base.Initialize(); 
     IServiceContainer serviceContainer = this as IServiceContainer; 
     EnvDTE.DTE dte = serviceContainer.GetService(typeof(SDTE)) as EnvDTE.DTE; 
     var events2 = (EnvDTE80.Events2)dte.Events; 
     EnvDTE80.WindowVisibilityEvents toolBoxWindowVisibilityEvents = events2.get_WindowVisibilityEvents(); 
     toolBoxWindowVisibilityEvents.WindowShowing += WindowVisibilityEvents_WindowShowing; 
    } 

    private void WindowVisibilityEvents_WindowShowing(Window window) 
    { 
     if (window.Type == vsWindowType.vsWindowTypeToolWindow && window.Caption == "Start Page") 
     { 
      //Start page is opening... 
     } 
    } 
1

DTE.Eventsを購読することができます。 WindowEventsWindowCreatedイベントとウィンドウタイトルが開始ページであることを確認します。開始ページ

+0

ことができないと思いますしかし、これは失敗しました - これは私にはダウンしている可能性がありますが、私は別の解決策を見つけてから(私自身の答えを見てください)私はこれを追求しませんでした。 –

関連する問題