diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs index 251b0cb1f54df13f3938b45245e9c564d35809c2..0b455245bd6f8d7a11c09a4337b4562e368590e1 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs @@ -228,9 +228,9 @@ internal ItemManager(RecentItemsManager recentItemsManager) return HandleAllItemsFilteredOut(reason, data.SelectedFilters, completionRules); } - var experimentationService = document.Project.Solution.Workspace.Services.GetService(); + var experimentationService = document?.Project.Solution.Workspace.Services.GetService(); - var initialListOfItemsToBeIncluded = experimentationService.IsExperimentEnabled(WellKnownExperimentNames.SortCompletionListByMatch) + var initialListOfItemsToBeIncluded = experimentationService?.IsExperimentEnabled(WellKnownExperimentNames.SortCompletionListByMatch) == true // Need a stable sorting algorithm to preserve the original order for items with same pattern match score. ? builder.OrderBy(new NullablePatternMatchComparer()).ToImmutableArray() : builder.ToImmutable();