diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs index 5ad4c488d9e0de5f96921ade0fae42e34d2487da..3c16e967a7bfb2b407e250e700ff8e12051b9928 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/SolutionExplorer_InProc.cs @@ -12,6 +12,7 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.EditAndContinue; using Microsoft.CodeAnalysis.Shared.TestHooks; +using Microsoft.VisualStudio.IntegrationTest.Utilities.Input; using Microsoft.VisualStudio.ProjectSystem.Properties; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; @@ -25,13 +26,17 @@ namespace Microsoft.VisualStudio.IntegrationTest.Utilities.InProcess { internal class SolutionExplorer_InProc : InProcComponent { + private readonly SendKeys_InProc _sendKeys; private Solution2 _solution; private string _fileName; private static readonly IDictionary _csharpProjectTemplates = InitializeCSharpProjectTemplates(); private static readonly IDictionary _visualBasicProjectTemplates = InitializeVisualBasicProjectTemplates(); - private SolutionExplorer_InProc() { } + private SolutionExplorer_InProc() + { + _sendKeys = new SendKeys_InProc(VisualStudio_InProc.Create()); + } public static SolutionExplorer_InProc Create() => new SolutionExplorer_InProc(); @@ -379,6 +384,10 @@ public void CleanUpOpenSolution() if (dte.Debugger.CurrentMode != EnvDTE.dbgDebugMode.dbgDesignMode) { + // Close the Find Source window in case it's open. + // 🐛 This is an ugly mitigation for https://github.com/dotnet/roslyn/issues/33785 + _sendKeys.Send(VirtualKey.Escape); + dte.Debugger.TerminateAll(); WaitForDesignMode(); }