最後に、私は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...
}
}
、私はそれが私はこれを試し – ErikEJ