Как отобразить окно пользовательского инструмента на первой позиции программно в Visual Studio - PullRequest
2 голосов
/ 19 февраля 2020

Я создал расширение окна инструмента в 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")]

Окно отображается на третьей позиции. Мне нужно показать это окно на первой позиции. Я пытался закрыть первые два windows программно, но понятия не имел, как их закрыть. Есть ли способ показать это окно в первой позиции?

enter image description here

1 Ответ

1 голос
/ 21 февраля 2020

Я заставил его работать, закрыв первые два windows.

В основном тип окна для первых двух windows - это «Документ», а третье окно имеет тип «Инструмент».

Окно окна средства разработки (DTE) содержит созданный выходной проект / решение / windows. Мы можем использовать его, как показано ниже, и закрыть первые два windows, используя соответствующие методы жизненного цикла 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();
                }
            }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...