如何访问自定义Tool Window?
如何访问自定义Tool Window?
看起来你已经搞定了自定义Tool Window的基础创建和注册,我来给你唠唠几种常见的访问方式,都是实际开发里常用的套路:
通过自定义菜单命令触发(最常用)
你得给这个Tool Window绑定一个菜单命令,点击命令就弹出窗口。比如在你的Package类里加个命令处理方法:private void ShowMyToolWindow(object sender, EventArgs e) { // 查找或创建Tool Window实例 ToolWindowPane toolWindow = this.FindToolWindow(typeof(My_Tool_Window_1), 0, true); if (toolWindow == null || toolWindow.Frame == null) { throw new NotSupportedException("没法创建这个Tool Window哦"); } // 显示窗口 IVsWindowFrame windowFrame = (IVsWindowFrame)toolWindow.Frame; Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show()); }之后要在.vsct配置文件里把这个命令加到菜单里(比如视图菜单下),这样用户就能通过点击菜单按钮打开它了。
从Visual Studio的“视图”菜单里找
要是你在注册Tool Window的时候,配置了正确的窗口类别和菜单位置,它会自动出现在「视图」->「其他窗口」的列表里,直接点击就能打开,不用额外写命令逻辑。启动包时自动显示(测试用)
要是你想在调试的时候一启动就看到窗口,可以在Package的Initialize方法里直接调用上面的ShowMyToolWindow方法,这样包加载完成后窗口就自动弹出来了,方便调试。
对了,你代码里的My_Tool_Window_1类已经有了专属的Guid,这个很重要,Visual Studio就是靠这个Guid来识别和管理不同的Tool Window的,可别随便改哦。
内容来源于stack exchange
相关产品推荐
相关产品推荐

