扩展和自定义工具窗口

Visual Studio 提供了多种不同类型的窗口,例如工具窗口、文档窗口和对话框窗口。 其他窗口(如 “属性 ”窗口、 “输出 ”窗口和 “任务列表 ”窗口)是工具窗口的类型。

工具窗口

Visual Studio 工具窗口通常是非基于文件的只读窗口。 在这方面,它们不同于文档窗口,文档窗口在读写模式下显示文件。 工具窗口的示例包括“工具箱” 、“解决方案资源管理器” 、“属性” 窗口和“Web 浏览器”

若要了解如何创建简单的工具窗口,请参阅 “添加工具”窗口

若要向 Visual Studio 注册工具窗口,请参阅 “注册工具”窗口

工具窗口默认情况下是单实例,这意味着一次只能打开一个工具窗口的实例。 打开单实例工具窗口后,它保持打开状态直到关闭 IDE。 关闭单实例工具窗口时,只会更改其可见性。 你还可以创建多实例工具窗口,以便可以同时打开窗口中的多个实例。 有关详细信息,请参阅 “创建多实例工具”窗口

工具窗口可以是 动态的,这意味着无论何时应用相关的 UI 上下文,它们都可见。 使用自动可见性可以减少 IDE 中的窗口的混乱。 有关详细信息,请参阅 “打开动态工具”窗口

工具窗口可以在文档框架中停靠、浮动或呈选项卡式。 工具窗口框架由 IDE 提供,用于控制大小、位置、停靠状态和其他持久性属性。 工具窗口窗格用于显示内容。 仅当首次打开工具窗口时才应用默认大小和位置;在此之后将保留工具窗口状态。

工具窗口窗格可以承载 WPF 用户控件,并支持工具栏。 你可以重写 Window 属性以返回所承载的控件的句柄。

你可以向工具窗口添加许多不同的功能。 例如,可以添加工具栏: 将工具栏添加到工具窗口 或快捷菜单: 在工具窗口中添加快捷菜单。 可以添加搜索控件,以便搜索工具窗口中的项目: 向工具窗口添加搜索。

可以订阅工具窗口事件: 订阅事件

扩展现有工具窗口

可以将有关工具窗口的信息添加到新的“选项”页和“属性”页上的新设置,写入“任务列表”和“输出”窗口。 有关详细信息,请参阅 “扩展属性”、“任务列表”、“输出”和“选项”窗口

在 Visual Studio 扩展中,应通过从中派生 Microsoft.VisualStudio.PlatformUI.DialogWindow它们来创建模式对话框,这样就可以控制它们和 UI 的其余部分。 有关详细信息,请参阅 “创建和管理模式”对话框