如何:注册工具窗口

托管包框架 (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)。 有关 DefaultRegistryRootAttributePackageRegistrationAttribute 的更多信息,请参见 如何:注册 VSPackage

请参见

概念

VSPackage Essentials