【问题标题】:visual studio extension tool window opens every time visual studio opens up每次打开 Visual Studio 时都会打开 Visual Studio 扩展工具窗口
【发布时间】:2020-09-14 18:40:16
【问题描述】:
  1. 我使用这些步骤在 VSIX 扩展中添加了一个工具窗口https://docs.microsoft.com/en-us/visualstudio/extensibility/creating-an-extension-with-a-tool-window?view=vs-2019
  2. 安装扩展后,工具窗口必须打开一次
  3. 但每次打开 Visual Studio 时都会打开工具窗口。

如何只在需要时才打开工具窗口?

这些是正在使用的属性,

[ProvideToolWindow(typeof(MyWindow), Orientation = ToolWindowOrientation.Left, DocumentLikeTool = true, Style = Microsoft.VisualStudio.Shell.VsDockStyle.Tabbed)]
[ProvideToolWindowVisibility(typeof(MyWindow), VSConstants.UICONTEXT.SolutionExists_string, Name = "Extension Overview")]

【问题讨论】:

    标签: visual-studio-2019 vsix vs-extensibility


    【解决方案1】:

    迪帕克,

    通过使用 VSConstants.UIContext.SolutionExists_string,您正在注册工具窗口,以便在 VS IDE 中存在解决方案时显示。如果您不希望出现这种行为,请删除该属性。

    注意,工具窗口几乎总是与特定场景或 IDE 状态相关联(例如在调试、构建或编码期间)。这通常是您可以利用 ProvideToolWindowVisibility 属性的地方。将您的工具窗口与特定活动或状态相关联。但是,如果用户在该 UI 状态下手动关闭工具窗口,IDE 将尝试记住这一点。这样它在默认情况下不再出现(调试、构建或编码等)。这就是工具窗口布局被描述为“粘性”时的含义。

    如果您对 IDE 中当前处于活动状态的 UI 上下文感到好奇(以确定您希望工具窗口显示在哪个窗口中),我强烈建议您使用 Component Diagnostics extension 来监控哪些 UI 上下文处于活动状态,在您希望工具窗口显示在其下的场景期间。

    【讨论】:

    • 感谢您的回复。我已经安装了“组件诊断扩展”并了解了哪些 UI 上下文处于活动状态。但是也观察到“组件诊断”工具窗口也会为我打开的每个解决方案打开。我需要检查输出解决方案中的“.publish”文件夹是否存在,然后显示/隐藏工具窗口。你认为这对我有帮助吗?docs.microsoft.com/en-us/visualstudio/extensibility/…
    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多