diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ImplementInterface/ImplementInterfaceTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ImplementInterface/ImplementInterfaceTests.cs index bb8ac39cec235..3a8f14b625acc 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ImplementInterface/ImplementInterfaceTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ImplementInterface/ImplementInterfaceTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Threading.Tasks; +using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.CodeStyle; using Microsoft.CodeAnalysis.CSharp.ImplementInterface; @@ -8006,7 +8007,7 @@ void M() { } public int Prop => throw new System.NotImplementedException(); } """, - CodeActionOptions = (CSharpCodeActionOptions.Default with + CodeActionOptions = (CodeActionOptions.Default with { ImplementTypeOptions = new() { InsertionBehavior = ImplementTypeInsertionBehavior.AtTheEnd } }).CreateProvider() @@ -8188,7 +8189,7 @@ class Class : IInterface public int WriteOnlyProp { set => throw new System.NotImplementedException(); } } """, - CodeActionOptions = (CSharpCodeActionOptions.Default with + CodeActionOptions = (CodeActionOptions.Default with { ImplementTypeOptions = new() { PropertyGenerationBehavior = ImplementTypePropertyGenerationBehavior.PreferAutoProperties } }).CreateProvider() diff --git a/src/EditorFeatures/Test/Options/GlobalOptionsTests.cs b/src/EditorFeatures/Test/Options/GlobalOptionsTests.cs index cd13e03ce2f14..d6044905457a1 100644 --- a/src/EditorFeatures/Test/Options/GlobalOptionsTests.cs +++ b/src/EditorFeatures/Test/Options/GlobalOptionsTests.cs @@ -184,7 +184,7 @@ public void ReadingOptionsFromGlobalOptions(string language) var languageServices = workspace.Services.SolutionServices.GetLanguageServices(language); VerifyDataMembersHaveNonDefaultValues(globalOptions.GetIdeAnalyzerOptions(languageServices), IdeAnalyzerOptions.GetDefault(languageServices), language); - VerifyDataMembersHaveNonDefaultValues(globalOptions.GetCodeActionOptions(languageServices), CodeActionOptions.GetDefault(languageServices), language); + VerifyDataMembersHaveNonDefaultValues(globalOptions.GetCodeActionOptions(languageServices), CodeActionOptions.Default, language); VerifyDataMembersHaveNonDefaultValues(globalOptions.GetBraceMatchingOptions(language), BraceMatchingOptions.Default, language); VerifyDataMembersHaveNonDefaultValues(globalOptions.GetFindUsagesOptions(language), FindUsagesOptions.Default, language); VerifyDataMembersHaveNonDefaultValues(globalOptions.GetInlineHintsOptions(language), InlineHintsOptions.Default, language); diff --git a/src/EditorFeatures/TestUtilities/Utilities/CSharpCodeActionOptions.cs b/src/EditorFeatures/TestUtilities/Utilities/CSharpCodeActionOptions.cs deleted file mode 100644 index f2bad2521cfbb..0000000000000 --- a/src/EditorFeatures/TestUtilities/Utilities/CSharpCodeActionOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.CodeAnalysis.CodeActions; -using Microsoft.CodeAnalysis.CSharp.CodeGeneration; -using Microsoft.CodeAnalysis.CSharp.Formatting; -using Microsoft.CodeAnalysis.CSharp.Simplification; - -namespace Microsoft.CodeAnalysis.Test.Utilities; - -internal static class CSharpCodeActionOptions -{ - public static CodeActionOptions Default = new() - { - CleanupOptions = new() - { - FormattingOptions = CSharpSyntaxFormattingOptions.Default, - SimplifierOptions = CSharpSimplifierOptions.Default - }, - CodeGenerationOptions = CSharpCodeGenerationOptions.Default, - }; -} diff --git a/src/EditorFeatures/TestUtilities/Utilities/VisualBasicCodeActionOptions.cs b/src/EditorFeatures/TestUtilities/Utilities/VisualBasicCodeActionOptions.cs deleted file mode 100644 index 0b48f0efabb2d..0000000000000 --- a/src/EditorFeatures/TestUtilities/Utilities/VisualBasicCodeActionOptions.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.CodeAnalysis.CodeActions; -using Microsoft.CodeAnalysis.ImplementType; -using Microsoft.CodeAnalysis.VisualBasic.CodeGeneration; -using Microsoft.CodeAnalysis.VisualBasic.Formatting; -using Microsoft.CodeAnalysis.VisualBasic.Simplification; - -namespace Microsoft.CodeAnalysis.Test.Utilities; - -internal static class VisualBasicCodeActionOptions -{ - public static CodeActionOptions Default = new() - { - CleanupOptions = new() - { - FormattingOptions = VisualBasicSyntaxFormattingOptions.Default, - SimplifierOptions = VisualBasicSimplifierOptions.Default, - }, - CodeGenerationOptions = VisualBasicCodeGenerationOptions.Default, - }; - - public static CodeActionOptions With(this CodeActionOptions options, VisualBasicSyntaxFormattingOptions value) - => options with { CleanupOptions = options.CleanupOptions with { FormattingOptions = value } }; - - public static CodeActionOptions With(this CodeActionOptions options, ImplementTypeOptions value) - => options with { ImplementTypeOptions = value }; -} diff --git a/src/Features/ExternalAccess/OmniSharp/CodeActions/OmniSharpCodeActionOptions.cs b/src/Features/ExternalAccess/OmniSharp/CodeActions/OmniSharpCodeActionOptions.cs index f811249c72781..b1ece57d5dc27 100644 --- a/src/Features/ExternalAccess/OmniSharp/CodeActions/OmniSharpCodeActionOptions.cs +++ b/src/Features/ExternalAccess/OmniSharp/CodeActions/OmniSharpCodeActionOptions.cs @@ -17,24 +17,12 @@ internal readonly record struct OmniSharpCodeActionOptions( OmniSharpImplementTypeOptions ImplementTypeOptions, OmniSharpLineFormattingOptions LineFormattingOptions) { +#pragma warning disable IDE0060 // Remove unused parameter internal CodeActionOptions GetCodeActionOptions(LanguageServices languageServices) +#pragma warning restore IDE0060 // Remove unused parameter { - var defaultOptions = CodeActionOptions.GetDefault(languageServices); - return defaultOptions with + return CodeActionOptions.Default with { - CleanupOptions = defaultOptions.CleanupOptions with - { - FormattingOptions = defaultOptions.CleanupOptions.FormattingOptions with - { - LineFormatting = new() - { - IndentationSize = LineFormattingOptions.IndentationSize, - TabSize = LineFormattingOptions.TabSize, - UseTabs = LineFormattingOptions.UseTabs, - NewLine = LineFormattingOptions.NewLine, - } - } - }, ImplementTypeOptions = new() { InsertionBehavior = (ImplementTypeInsertionBehavior)ImplementTypeOptions.InsertionBehavior, diff --git a/src/LanguageServer/Protocol/Features/Options/CodeActionOptionsStorage.cs b/src/LanguageServer/Protocol/Features/Options/CodeActionOptionsStorage.cs index 18a5691db00dd..522657f2f3e1a 100644 --- a/src/LanguageServer/Protocol/Features/Options/CodeActionOptionsStorage.cs +++ b/src/LanguageServer/Protocol/Features/Options/CodeActionOptionsStorage.cs @@ -18,8 +18,6 @@ internal static class CodeActionOptionsStorage public static CodeActionOptions GetCodeActionOptions(this IGlobalOptionService globalOptions, LanguageServices languageServices) => new() { - CleanupOptions = globalOptions.GetCodeCleanupOptions(languageServices), - CodeGenerationOptions = globalOptions.GetCodeGenerationOptions(languageServices), SearchOptions = globalOptions.GetSymbolSearchOptions(languageServices.Language), ImplementTypeOptions = globalOptions.GetImplementTypeOptions(languageServices.Language), HideAdvancedMembers = globalOptions.GetOption(CompletionOptionsStorage.HideAdvancedMembers, languageServices.Language), diff --git a/src/Workspaces/CoreTest/Remote/ServiceDescriptorTests.cs b/src/Workspaces/CoreTest/Remote/ServiceDescriptorTests.cs index d10f273c5fd17..1b771b5110037 100644 --- a/src/Workspaces/CoreTest/Remote/ServiceDescriptorTests.cs +++ b/src/Workspaces/CoreTest/Remote/ServiceDescriptorTests.cs @@ -235,7 +235,7 @@ public void OptionsAreMessagePackSerializable(string language) SyntaxFormattingOptions.GetDefault(languageServices), CodeCleanupOptions.GetDefault(languageServices), CodeGenerationOptions.GetDefault(languageServices), - CodeActionOptions.GetDefault(languageServices), + CodeActionOptions.Default, IndentationOptions.GetDefault(languageServices), ExtractMethodGenerationOptions.GetDefault(languageServices), diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/CodeFixes/CodeActionOptions.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/CodeFixes/CodeActionOptions.cs index 068608d6d3603..41dd5f151a03e 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/CodeFixes/CodeActionOptions.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/CodeFixes/CodeActionOptions.cs @@ -20,28 +20,13 @@ namespace Microsoft.CodeAnalysis.CodeActions; [DataContract] internal sealed record class CodeActionOptions { -#if CODE_STYLE - public static readonly CodeActionOptionsProvider DefaultProvider = new DelegatingCodeActionOptionsProvider(GetDefault); -#else - public static readonly CodeActionOptionsProvider DefaultProvider = new DelegatingCodeActionOptionsProvider(static ls => GetDefault(ls)); -#endif + public static readonly CodeActionOptions Default = new(); + public static readonly CodeActionOptionsProvider DefaultProvider = Default.CreateProvider(); #if !CODE_STYLE - [DataMember] public required CodeCleanupOptions CleanupOptions { get; init; } - [DataMember] public required CodeGenerationOptions CodeGenerationOptions { get; init; } [DataMember] public SymbolSearchOptions SearchOptions { get; init; } = SymbolSearchOptions.Default; [DataMember] public ImplementTypeOptions ImplementTypeOptions { get; init; } = ImplementTypeOptions.Default; [DataMember] public bool HideAdvancedMembers { get; init; } = false; - - public static CodeActionOptions GetDefault(LanguageServices languageServices) - => new() - { - CleanupOptions = CodeCleanupOptions.GetDefault(languageServices), - CodeGenerationOptions = CodeGenerationOptions.GetDefault(languageServices), - }; -#else - public static CodeActionOptions GetDefault(LanguageServices languageServices) - => new(); #endif public CodeActionOptionsProvider CreateProvider() => new DelegatingCodeActionOptionsProvider(_ => this);