From c10257d49634466f3a7b9b6887438924cca27339 Mon Sep 17 00:00:00 2001 From: tmat Date: Wed, 25 May 2022 11:43:34 -0700 Subject: [PATCH 1/3] Fix AbstractLanguageService constructor --- ...bstractLanguageService`2.IVsLanguageTextOps.cs | 7 ------- .../LanguageService/AbstractLanguageService`2.cs | 15 ++++++--------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs index eec8ea795a38c..79a85b7deeaec 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs @@ -25,13 +25,6 @@ internal abstract partial class AbstractLanguageService where TLanguageService : AbstractLanguageService { - private readonly IGlobalOptionService _globalOptions; - - public AbstractLanguageService(IGlobalOptionService globalOptions) - { - _globalOptions = globalOptions; - } - public int Format(IVsTextLayer textLayer, TextSpan[] selections) { var result = VSConstants.S_OK; diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs index 9f58f26ba33ec..20e9b0cca35ef 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs @@ -34,6 +34,8 @@ internal abstract partial class AbstractLanguageService where TLanguageService : AbstractLanguageService { + private readonly IGlobalOptionService _globalOptions; + internal TPackage Package { get; } internal VsLanguageDebugInfo LanguageDebugInfo { get; private set; } @@ -70,19 +72,14 @@ internal abstract partial class AbstractLanguageService private bool _isSetUp; - protected AbstractLanguageService( - TPackage package) + protected AbstractLanguageService(TPackage package) { - this.Package = package; + _globalOptions = package.ComponentModel.GetService(); + Package = package; } public override IServiceProvider SystemServiceProvider - { - get - { - return this.Package; - } - } + => Package; /// /// Setup and TearDown go in reverse order. From ac207cc85f16171cdfd8551b91fbc78ac1bb814c Mon Sep 17 00:00:00 2001 From: tmat Date: Wed, 25 May 2022 11:46:08 -0700 Subject: [PATCH 2/3] Fix formatting --- .../Core/Def/LanguageService/AbstractLanguageService`2.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs index 20e9b0cca35ef..f58b693a7a869 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs @@ -35,7 +35,7 @@ internal abstract partial class AbstractLanguageService { private readonly IGlobalOptionService _globalOptions; - + internal TPackage Package { get; } internal VsLanguageDebugInfo LanguageDebugInfo { get; private set; } From 7d1e66c3b05bbd291738da5423454352ab59ba26 Mon Sep 17 00:00:00 2001 From: tmat Date: Wed, 25 May 2022 14:07:34 -0700 Subject: [PATCH 3/3] Move to GetServices --- .../AbstractLanguageService`2.IVsLanguageTextOps.cs | 2 +- .../Core/Def/LanguageService/AbstractLanguageService`2.cs | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs index 79a85b7deeaec..2d9dd95d7751a 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.IVsLanguageTextOps.cs @@ -55,7 +55,7 @@ private int FormatWorker(IVsTextLayer textLayer, TextSpan[] selections, Cancella var root = document.GetSyntaxRootSynchronously(cancellationToken); var text = root.SyntaxTree.GetText(cancellationToken); - var formattingOptions = document.GetSyntaxFormattingOptionsAsync(_globalOptions, cancellationToken).AsTask().WaitAndGetResult(cancellationToken); + var formattingOptions = document.GetSyntaxFormattingOptionsAsync(GlobalOptions, cancellationToken).AsTask().WaitAndGetResult(cancellationToken); var ts = selections.Single(); var start = text.Lines[ts.iStartLine].Start + ts.iStartIndex; diff --git a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs index f58b693a7a869..51aad65be847d 100644 --- a/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs +++ b/src/VisualStudio/Core/Def/LanguageService/AbstractLanguageService`2.cs @@ -34,8 +34,6 @@ internal abstract partial class AbstractLanguageService where TLanguageService : AbstractLanguageService { - private readonly IGlobalOptionService _globalOptions; - internal TPackage Package { get; } internal VsLanguageDebugInfo LanguageDebugInfo { get; private set; } @@ -57,6 +55,7 @@ internal abstract partial class AbstractLanguageService(); Package = package; } @@ -137,6 +135,7 @@ protected virtual void GetServices() // This method should only contain calls to acquire services off of the component model // or service providers. Anything else which is more complicated should go in Initialize // instead. + this.GlobalOptions = this.Package.ComponentModel.GetService(); this.Workspace = this.Package.ComponentModel.GetService(); this.EditorAdaptersFactoryService = this.Package.ComponentModel.GetService(); this.HostDiagnosticUpdateSource = this.Package.ComponentModel.GetService();