如何:注册工具窗口
托管包框架 (MPF)提供属性控制管理工具窗口的注册。 RegPkg 实用工具使用这些属性注册具有 Visual Studio的工具窗口。
示例
'UICONTEXT_SolutionExists
<MsVsShell.ProvideToolWindow(GetType(PersistedWindowPane), Style := MsVsShell.VsDockStyle.Tabbed, Window := "3ae79031-e1bc-11d0-8f78-00a0c9110057")> _
<MsVsShell.ProvideToolWindow(GetType(DynamicWindowPane), PositionX := 250, PositionY := 250, Width := 160, Height := 180, Transient := True)> _
<MsVsShell.ProvideToolWindowVisibility(GetType(DynamicWindowPane), "f1536ef8-92ec-443c-9ed7-fdadf150da82")> _
<MsVsShell.ProvideMenuResource(1000, 1)> _
<MsVsShell.DefaultRegistryRoot("Software\Microsoft\VisualStudio\8.0Exp")> _
<MsVsShell.PackageRegistration(UseManagedResourcesOnly := True)> _
<Guid("01069CDD-95CE-4620-AC21-DDFF6C57F012")> _
Public Class PackageToolWindow
Inherits MsVsShell.Package
End Class
[MsVsShell.ProvideToolWindow(typeof(PersistedWindowPane), Style = MsVsShell.VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")]
[MsVsShell.ProvideToolWindow(typeof(DynamicWindowPane), PositionX=250, PositionY=250, Width=160, Height=180, Transient=true)]
[MsVsShell.ProvideToolWindowVisibility(typeof(DynamicWindowPane), /*UICONTEXT_SolutionExists*/"f1536ef8-92ec-443c-9ed7-fdadf150da82")]
[MsVsShell.ProvideMenuResource(1000, 1)]
[MsVsShell.DefaultRegistryRoot(@"Software\Microsoft\VisualStudio\8.0Exp")]
[MsVsShell.PackageRegistration(UseManagedResourcesOnly = true)]
[Guid("01069CDD-95CE-4620-AC21-DDFF6C57F012")]
public class PackageToolWindow : MsVsShell.Package
{
ProvideToolWindowAttribute 注册 PersistedWindowPane 和 DynamicWindowPane 工具有 Visual Studio的窗口。 保留的工具窗口停靠并选中与 解决方案资源管理器,,并提供有关如何动态窗口的默认起始位置和大小。 动态窗口进行临时,表明该按钮处于 Visual Studio 启动不创建。 此编写在 ToolWindows 密钥对 DontForceCreate 值在系统注册表。 有关更多信息,请参见 工具窗口显示配置。
ProvideMenuResourceAttribute 确定菜单资源 ID (1000) 和版本号 (1)。 有关 DefaultRegistryRootAttribute 和 PackageRegistrationAttribute 的更多信息,请参见 如何:注册 VSPackage。