internal InteractiveWindow(VisualStudioInstance host, string dteViewCommand, string dteWindowTitle)
        {
            _host           = host;
            _dteViewCommand = dteViewCommand;

            // We have to show the window at least once to ensure the interactive service is loaded.
            ShowAsync(waitForPrompt: false).GetAwaiter().GetResult();

            var dteWindow = _host.LocateDteWindowAsync(dteWindowTitle).GetAwaiter().GetResult();

            dteWindow.Close();

            // Return a wrapper to the actual interactive window service that exists in the host process
            _interactiveWindowWrapper = _host.ExecuteOnHostProcess <InteractiveWindowWrapper>(typeof(RemotingHelper), nameof(RemotingHelper.CreateCSharpInteractiveWindowWrapper), (BindingFlags.Public | BindingFlags.Static));
        }