From a3ff4eb8d90b705e955f520b4cc2b90c2114c908 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Wed, 18 Dec 2024 15:53:26 -0800 Subject: [PATCH] Fix sync over async blocking in tools|options --- .../Core/Impl/Options/AbstractOptionPreviewViewModel.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/VisualStudio/Core/Impl/Options/AbstractOptionPreviewViewModel.cs b/src/VisualStudio/Core/Impl/Options/AbstractOptionPreviewViewModel.cs index 71416ef4a42cb..979100a4c3ad6 100644 --- a/src/VisualStudio/Core/Impl/Options/AbstractOptionPreviewViewModel.cs +++ b/src/VisualStudio/Core/Impl/Options/AbstractOptionPreviewViewModel.cs @@ -138,9 +138,10 @@ public void UpdatePreview(string text) var fallbackFormattingOptions = OptionStore.GlobalOptions.GetSyntaxFormattingOptions(document.Project.Services); var formattingService = document.GetRequiredLanguageService(); var formattingOptions = formattingService.GetFormattingOptions(OptionStore); - var formatted = Formatter.FormatAsync(document, formattingOptions, CancellationToken.None).WaitAndGetResult(CancellationToken.None); + var root = document.GetSyntaxRootSynchronously(CancellationToken.None); + var formatted = Formatter.Format(root, document.Project.Solution.Services, formattingOptions, CancellationToken.None); - var textBuffer = _textBufferCloneService.Clone(formatted.GetTextSynchronously(CancellationToken.None), _contentType); + var textBuffer = _textBufferCloneService.Clone(SourceText.From(formatted.ToFullString(), Encoding.UTF8), _contentType); var container = textBuffer.AsTextContainer();