gpt4 book ai didi

visual-studio-2010 - dte.Solution.SolutionBuild.StartupProjects 改变时是否有事件触发?

转载 作者:行者123 更新时间:2023-12-04 21:51:11 25 4
gpt4 key购买 nike

我正在构建一个 Visual Studio 2010 插件供我公司内部使用。我想自定义主窗口标题以显示当前启动项目的名称。我可以使用以下代码设置主窗口的标题:

            DTE d = GlobalClass.dte2 as DTE;
IntPtr hWnd = new System.IntPtr(d.MainWindow.HWnd);


if (d.Solution.SolutionBuild.StartupProjects != null)
{
object[] sStartUpProject = (object[])d.Solution.SolutionBuild.StartupProjects;

string Caption = d.MainWindow.Caption + "Current Project: " + (string)sStartUpProject[0];

SendMessage(hWnd, WM_SETTEXT, new IntPtr(0), Caption);
}

我可以在创建或激活窗口时触发此代码,但如果用户更改解决方案资源管理器(或我的加载项)中的启动项目并且没有移动到 Visual Studio 中的另一个窗口,这不会更新标题。我希望标题在更改后立即更新。

最佳答案

是的,您需要订阅 IVsMonitorSelection事件和句柄 SEID_StartupProjectOnElementValueChanged() .

看看这段代码,它是不言自明的:

https://bitbucket.org/thirteen/switchstartupproject/src/a80f0deb737c/SwitchStartupProject/SwitchStartupProjectPackage.cs

关于visual-studio-2010 - dte.Solution.SolutionBuild.StartupProjects 改变时是否有事件触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com