是否有 Visual Studio 分机可以订阅的 Visual Studio 起始页打开事件?

Is there a Visual Studio start page open event that a Visual Studio Extension can subscribe to?

我正在开发 Visual Studio 扩展程序,它会在 IDE 的起始页打开时加载,但我找不到在起始页时触发的事件已打开,我的分机可以订阅。

我知道我可以将以下属性添加到我的 vsix 包中,它会在 IDE 打开时触发,但我正在寻找更具体的起始页本身。

[ProvideAutoLoad(UIContextGuids80.NoSolution)]

打开默认起始页或自定义起始页时是否会触发事件?

您可以订阅 DTE.Events.WindowEvents.WindowCreated 事件并检查 window 标题是否为 Start第.

我最终通过订阅 WindowVisibilityEvents(由来自 Carlos Quintero https://www.mztools.com/articles/2011/MZ2011010.aspx 的旧 post 提供)并检查 window 的类型和标题来完成这项工作它变得可见。

以下是我的 vsix 包 class 中代码的 cut-down 版本:

    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...
        }
    }