diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs index 1226e85bf4db26e0400d3a75e451d80f06489028..5db02faca0fd330d5a47f7a2d3305624ed90c0e3 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs @@ -102,7 +102,7 @@ internal CompletionSource(ITextView textView, Lazy SpaceTriggerCharacter => ImmutableHashSet.Create(' '); diff --git a/src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs b/src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs index 074482f7313cf671a65ccf78dd4d81eaffb1e3bd..5eb7f1b23b04999f26eb1b5e5c800002ec19801d 100644 --- a/src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs +++ b/src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs @@ -47,7 +47,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition ch == '[' || ch == '(' || ch == '~' || - (options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.CSharp) && CompletionUtilities.IsStartingNewWord(text, characterPosition)); + (options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.CSharp) && CompletionUtilities.IsStartingNewWord(text, characterPosition)); } internal override ImmutableHashSet TriggerCharacters { get; } = ImmutableHashSet.Create(' ', '[', '(', '~'); diff --git a/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs b/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs index 188124c755c19f64d81f65c8329fd9ec58118470..916139156cfcfdbfab4fb2b82ccdd90c16863656 100644 --- a/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs +++ b/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs @@ -52,7 +52,7 @@ protected override SyntaxToken GetToken(CompletionItem completionItem, SyntaxTre internal override bool IsInsertionTrigger(SourceText text, int characterPosition, OptionSet options) { var ch = text[characterPosition]; - return ch == ' ' || (CompletionUtilities.IsStartingNewWord(text, characterPosition) && options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.CSharp)); + return ch == ' ' || (CompletionUtilities.IsStartingNewWord(text, characterPosition) && options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.CSharp)); } internal override ImmutableHashSet TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter; diff --git a/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs b/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs index b88db5d8dd9c41cd33eb1984b2d47349b91b6d09..ffe90a4cb767707f2c77881d1b5adab1198992d2 100644 --- a/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs +++ b/src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs @@ -50,7 +50,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition var ch = text[characterPosition]; return ch == ' ' || (CompletionUtilities.IsStartingNewWord(text, characterPosition) && - options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.CSharp)); + options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.CSharp)); } internal override ImmutableHashSet TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter; diff --git a/src/Features/Core/Portable/Completion/CompletionOptions.cs b/src/Features/Core/Portable/Completion/CompletionOptions.cs index 1f0f1b3e7e8dcfc2e114837c53cbf47658544541..acb001d2aadfce51a84e777e1345912a933e70b7 100644 --- a/src/Features/Core/Portable/Completion/CompletionOptions.cs +++ b/src/Features/Core/Portable/Completion/CompletionOptions.cs @@ -17,8 +17,13 @@ internal static class CompletionOptions // This is serialized by the Visual Studio-specific LanguageSettingsPersister public static readonly PerLanguageOption2 TriggerOnTyping = new PerLanguageOption2(nameof(CompletionOptions), nameof(TriggerOnTyping), defaultValue: true); - public static readonly PerLanguageOption2 TriggerOnTypingLetters = new PerLanguageOption2(nameof(CompletionOptions), nameof(TriggerOnTypingLetters), defaultValue: true, + public static readonly PerLanguageOption2 TriggerOnTypingLetters2 = new PerLanguageOption2(nameof(CompletionOptions), nameof(TriggerOnTypingLetters), defaultValue: true, storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.TriggerOnTypingLetters")); + +#pragma warning disable RS0030 // Do not used banned APIs - Used by TypeScript through IVT, so we cannot change the field type. + public static readonly PerLanguageOption TriggerOnTypingLetters = (PerLanguageOption)TriggerOnTypingLetters2!; +#pragma warning restore RS0030 // Do not used banned APIs + public static readonly PerLanguageOption2 TriggerOnDeletion = new PerLanguageOption2(nameof(CompletionOptions), nameof(TriggerOnDeletion), defaultValue: null, storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.TriggerOnDeletion")); @@ -37,9 +42,13 @@ internal static class CompletionOptions public static readonly PerLanguageOption2 HighlightMatchingPortionsOfCompletionListItems = new PerLanguageOption2(nameof(CompletionOptions), nameof(HighlightMatchingPortionsOfCompletionListItems), defaultValue: true, storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.HighlightMatchingPortionsOfCompletionListItems")); - public static readonly PerLanguageOption2 BlockForCompletionItems = new PerLanguageOption2( - nameof(CompletionOptions), nameof(BlockForCompletionItems), defaultValue: true, - storageLocations: new RoamingProfileStorageLocation($"TextEditor.%LANGUAGE%.Specific.{BlockForCompletionItems}")); + public static readonly PerLanguageOption2 BlockForCompletionItems2 = new PerLanguageOption2( + nameof(CompletionOptions), nameof(BlockForCompletionItems2), defaultValue: true, + storageLocations: new RoamingProfileStorageLocation($"TextEditor.%LANGUAGE%.Specific.{BlockForCompletionItems2}")); + +#pragma warning disable RS0030 // Do not used banned APIs - Used by TypeScript through IVT, so we cannot change the field type. + public static readonly PerLanguageOption BlockForCompletionItems = (PerLanguageOption)BlockForCompletionItems2!; +#pragma warning restore RS0030 // Do not used banned APIs public static readonly PerLanguageOption2 ShowNameSuggestions = new PerLanguageOption2(nameof(CompletionOptions), nameof(ShowNameSuggestions), defaultValue: true, diff --git a/src/Features/Core/Portable/Completion/CompletionOptionsProvider.cs b/src/Features/Core/Portable/Completion/CompletionOptionsProvider.cs index 5ea7715316401c172e72b2e8eabe124801ffca1b..a57fe9214790e767a7bc010ddd1d3717e286af8d 100644 --- a/src/Features/Core/Portable/Completion/CompletionOptionsProvider.cs +++ b/src/Features/Core/Portable/Completion/CompletionOptionsProvider.cs @@ -20,7 +20,7 @@ public CompletionOptionsProvider() public ImmutableArray Options { get; } = ImmutableArray.Create( CompletionOptions.HideAdvancedMembers, CompletionOptions.TriggerOnTyping, - CompletionOptions.TriggerOnTypingLetters, + CompletionOptions.TriggerOnTypingLetters2, CompletionOptions.ShowCompletionItemFilters, CompletionOptions.HighlightMatchingPortionsOfCompletionListItems, CompletionOptions.EnterKeyBehavior, diff --git a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb index 8b48c92db7f0ee6aeabeac0b9bc5c026997a9775..c5a5dc917ff98a44e74f354422e464b6406be124 100644 --- a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb +++ b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb @@ -71,7 +71,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers End Function Private Function IsStartingNewWord(text As SourceText, characterPosition As Integer, options As OptionSet) As Boolean - If Not options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.VisualBasic) Then + If Not options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.VisualBasic) Then Return False End If diff --git a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb index efd6f31ce505c2e110028595e40d6eaf8981d4c4..b5b4d125eaf789d41ca500ae44368e6aadfce352 100644 --- a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb +++ b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb @@ -94,7 +94,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers text(characterPosition) = "("c OrElse (characterPosition > 1 AndAlso text(characterPosition) = "="c AndAlso text(characterPosition - 1) = ":"c) OrElse SyntaxFacts.IsIdentifierStartCharacter(text(characterPosition)) AndAlso - options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.VisualBasic) + options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.VisualBasic) End Function Friend Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet.Create(" "c, "("c, "="c) diff --git a/src/Tools/ExternalAccess/FSharp/Completion/FSharpCompletionOptions.cs b/src/Tools/ExternalAccess/FSharp/Completion/FSharpCompletionOptions.cs index 582278788df67d93530704335ebec200f1d7fa5b..0857582bf70000c25af8247213ebef042e2f376e 100644 --- a/src/Tools/ExternalAccess/FSharp/Completion/FSharpCompletionOptions.cs +++ b/src/Tools/ExternalAccess/FSharp/Completion/FSharpCompletionOptions.cs @@ -11,6 +11,6 @@ namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Completion internal static class FSharpCompletionOptions { // Suppression due to https://github.com/dotnet/roslyn/issues/42614 - public static PerLanguageOption BlockForCompletionItems { get; } = ((PerLanguageOption)Microsoft.CodeAnalysis.Completion.CompletionOptions.BlockForCompletionItems)!; + public static PerLanguageOption BlockForCompletionItems { get; } = ((PerLanguageOption)Microsoft.CodeAnalysis.Completion.CompletionOptions.BlockForCompletionItems2)!; } } diff --git a/src/VisualStudio/CSharp/Impl/Options/AutomationObject.cs b/src/VisualStudio/CSharp/Impl/Options/AutomationObject.cs index 66651c6e9cafc6ae0f62e6e1831eb83ef8f2c1f8..aa560c51b3493f8f47cbeb35f5a9eb548c8f1522 100644 --- a/src/VisualStudio/CSharp/Impl/Options/AutomationObject.cs +++ b/src/VisualStudio/CSharp/Impl/Options/AutomationObject.cs @@ -59,8 +59,8 @@ public int AutoInsertAsteriskForNewLinesOfBlockComments public int BringUpOnIdentifier { - get { return GetBooleanOption(CompletionOptions.TriggerOnTypingLetters); } - set { SetBooleanOption(CompletionOptions.TriggerOnTypingLetters, value); } + get { return GetBooleanOption(CompletionOptions.TriggerOnTypingLetters2); } + set { SetBooleanOption(CompletionOptions.TriggerOnTypingLetters2, value); } } public int HighlightMatchingPortionsOfCompletionListItems diff --git a/src/VisualStudio/CSharp/Impl/Options/IntelliSenseOptionPageControl.xaml.cs b/src/VisualStudio/CSharp/Impl/Options/IntelliSenseOptionPageControl.xaml.cs index 9b845c75d2594d5dfaee51ffbdd03d702d527e3e..9659050688f377482d734ee1eeeb576eafab0341 100644 --- a/src/VisualStudio/CSharp/Impl/Options/IntelliSenseOptionPageControl.xaml.cs +++ b/src/VisualStudio/CSharp/Impl/Options/IntelliSenseOptionPageControl.xaml.cs @@ -18,7 +18,7 @@ public IntelliSenseOptionPageControl(OptionStore optionStore) : base(optionStore BindToOption(Show_completion_item_filters, CompletionOptions.ShowCompletionItemFilters, LanguageNames.CSharp); BindToOption(Highlight_matching_portions_of_completion_list_items, CompletionOptions.HighlightMatchingPortionsOfCompletionListItems, LanguageNames.CSharp); - BindToOption(Show_completion_list_after_a_character_is_typed, CompletionOptions.TriggerOnTypingLetters, LanguageNames.CSharp); + BindToOption(Show_completion_list_after_a_character_is_typed, CompletionOptions.TriggerOnTypingLetters2, LanguageNames.CSharp); Show_completion_list_after_a_character_is_deleted.IsChecked = this.OptionStore.GetOption(CompletionOptions.TriggerOnDeletion, LanguageNames.CSharp) == true; Show_completion_list_after_a_character_is_deleted.IsEnabled = Show_completion_list_after_a_character_is_typed.IsChecked == true; diff --git a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb index 0993626c87013d423c2dbfc5a01c32d29271f21f..a15a2c6b16aa53a5c6bf38f984367e5c92edac72 100644 --- a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb +++ b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb @@ -15,7 +15,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options MyBase.New(optionStore) InitializeComponent() - BindToOption(Show_completion_list_after_a_character_is_typed, CompletionOptions.TriggerOnTypingLetters, LanguageNames.VisualBasic) + BindToOption(Show_completion_list_after_a_character_is_typed, CompletionOptions.TriggerOnTypingLetters2, LanguageNames.VisualBasic) Show_completion_list_after_a_character_is_deleted.IsChecked = Me.OptionStore.GetOption( CompletionOptions.TriggerOnDeletion, LanguageNames.VisualBasic) <> False diff --git a/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb b/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb index 4530aa406020f6c2abc2ffe3433a9840a4e98283..87864994e65627c60882251bec8e687934b1d3df 100644 --- a/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb +++ b/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb @@ -89,7 +89,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Snippets Friend Overrides Function IsInsertionTrigger(text As SourceText, characterPosition As Integer, options As OptionSet) As Boolean Return Char.IsLetterOrDigit(text(characterPosition)) AndAlso - options.GetOption(CompletionOptions.TriggerOnTypingLetters, LanguageNames.VisualBasic) + options.GetOption(CompletionOptions.TriggerOnTypingLetters2, LanguageNames.VisualBasic) End Function Friend Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet(Of Char).Empty