簡體   English   中英

如何在 Visual Studio 中以編程方式在第一個位置顯示自定義工具窗口

[英]How to display custom tool window at the first position, programmatically in visual studio

我根據以下鏈接在 Visual Studio 中創建了工具窗口擴展,如何確保它是輸出項目中第一個停靠為選項卡式窗口?

https://docs.microsoft.com/en-us/visualstudio/extensibility/creating-an-extension-with-a-tool-window?view=vs-2019

在 WizardPackage.cs 這些是我使用的屬性

[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
    [Guid(TeamsWizardPackage.PackageGuidString)]
    [ProvideMenuResource("Menus.ctmenu", 0)]
    [ProvideToolWindow(typeof(TeamsWindow), Orientation = ToolWindowOrientation.Left, DocumentLikeTool = true, Style = Microsoft.VisualStudio.Shell.VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")]
    [ProvideToolWindowVisibility(typeof(TeamsWindow), VSConstants.UICONTEXT.SolutionExists_string, Name = "Teams Overview")]

窗口顯示在第三個位置。 我需要在第一個位置顯示這個窗口。 我試圖以編程方式關閉前兩個窗口,但不知道如何關閉它們,有沒有辦法在第一個位置顯示這個窗口?

在此處輸入圖片說明

我通過關閉前兩個窗口使其工作。

前兩個窗口的窗口類型基本上是“文檔”,第三個窗口的類型是“工具”。

開發工具窗口(DTE)窗口保存了創建的輸出項目/解決方案/窗口。我們可以如下所示使用它,並通過使用適當的 IWizard 生命周期方法關閉前兩個窗口。

using EnvDTE;

 public DTE dte;

public void RunStarted(object automationObject,
 Dictionary<string, string> replacementsDictionary,           
  WizardRunKind runKind, object[] customParams)          
 {
dte = automationObject as DTE;
 }

public void RunFinished()
        {
            foreach (Window documentWindow in dte.Windows)
            {
        //close all Document type of windows from the output project  
                if (documentWindow.Kind == "Document")
                {
                    documentWindow.Close();
                }
            }

        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM