From e87ce7314e8c8d50cdb866d193a0aae6c6af27b4 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 12 Feb 2025 16:47:17 -0800 Subject: [PATCH 1/2] Switch to UI thread to activate Semantic Search UIContext --- src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs index e6babc4236130..6c7832772f4e6 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs @@ -35,16 +35,17 @@ protected override async Task InitializeAsync(CancellationToken cancellationToke Assumes.Present(_componentModel_doNotAccessDirectly); } - protected override Task OnAfterPackageLoadedAsync(CancellationToken cancellationToken) + protected override async Task OnAfterPackageLoadedAsync(CancellationToken cancellationToken) { // TODO: remove, workaround for https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1985204 var globalOptions = ComponentModel.GetService(); if (globalOptions.GetOption(SemanticSearchFeatureFlag.Enabled)) { + await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); UIContext.FromUIContextGuid(new Guid(SemanticSearchFeatureFlag.UIContextId)).IsActive = true; } - return base.OnAfterPackageLoadedAsync(cancellationToken); + await base.OnAfterPackageLoadedAsync(cancellationToken).ConfigureAwait(false); } protected async Task LoadComponentsInUIContextOnceSolutionFullyLoadedAsync(CancellationToken cancellationToken) From 6270ec422539dc6849fb03a7730ea4ce8e986d26 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 13 Feb 2025 08:22:48 -0800 Subject: [PATCH 2/2] Reorder --- src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs index 6c7832772f4e6..64ff1b7dde1fb 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractPackage.cs @@ -37,6 +37,8 @@ protected override async Task InitializeAsync(CancellationToken cancellationToke protected override async Task OnAfterPackageLoadedAsync(CancellationToken cancellationToken) { + await base.OnAfterPackageLoadedAsync(cancellationToken).ConfigureAwait(false); + // TODO: remove, workaround for https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1985204 var globalOptions = ComponentModel.GetService(); if (globalOptions.GetOption(SemanticSearchFeatureFlag.Enabled)) @@ -44,8 +46,6 @@ protected override async Task OnAfterPackageLoadedAsync(CancellationToken cancel await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); UIContext.FromUIContextGuid(new Guid(SemanticSearchFeatureFlag.UIContextId)).IsActive = true; } - - await base.OnAfterPackageLoadedAsync(cancellationToken).ConfigureAwait(false); } protected async Task LoadComponentsInUIContextOnceSolutionFullyLoadedAsync(CancellationToken cancellationToken)