/// [InitializeDTE]

        #region Package Members

        /// [calling InitializeDTE]
        /// Initialization of the package; this method is called asynchronously by Visual Studio.

        /*protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<Microsoft.VisualStudio.Shell.ServiceProgressData> progress)
         * {
         *  // Do something on background task
         *  // ...
         *  await Task.Delay(5000);
         *
         *  // Now switch to UI thread
         *
         *  // Switches to the UI thread in order to consume some services used in command initialization
         *  await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
         *
         *  // Synchronous initialization on UI thread
         *  TestExecWindowCommand.Initialize(this);
         *  base.Initialize();
         *  InitializeDTE();
         * }*/

        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        /// <param name="cancellationToken">A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.</param>
        /// <param name="progress">A provider for progress updates.</param>
        /// <returns>A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.</returns>
        protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
        {
            await base.InitializeAsync(cancellationToken, progress);

            // When initialized asynchronously, the current thread may be a background thread at this point.
            // Do any initialization that requires the UI thread after switching to the UI thread.
            await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);

            TestExecWindowCommand.Initialize(this);
            InitializeDTE();
            //await MentiToolWindowCommand.InitializeAsync(this);
        }
 /// <summary>
 /// Initializes the singleton instance of the command.
 /// </summary>
 /// <param name="package">Owner package, not null.</param>
 public static void Initialize(Package package)
 {
     Instance = new TestExecWindowCommand(package);
 }