diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CustomCommitCompletion.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CustomCommitCompletion.cs index 861a15d46f82cff94d952d8000cc1519e5065b1f..7d42a4a7f064770ab1544e68995bd6f58b2a7be5 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CustomCommitCompletion.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CustomCommitCompletion.cs @@ -19,12 +19,10 @@ internal sealed class CustomCommitCompletion : Completion3, ICustomCommit private readonly CompletionPresenterSession _completionPresenterSession; internal readonly CompletionItem CompletionItem; private readonly ImageMoniker _imageMoniker; - private readonly string _displayText; public CustomCommitCompletion( CompletionPresenterSession completionPresenterSession, - CompletionItem completionItem, - string displayText) + CompletionItem completionItem) { // PERF: Note that the base class contains a constructor taking the displayText string // but we're intentionally NOT using that here because it allocates a private CompletionState @@ -32,7 +30,6 @@ internal sealed class CustomCommitCompletion : Completion3, ICustomCommit // extra allocation is avoided. _completionPresenterSession = completionPresenterSession; this.CompletionItem = completionItem; - _displayText = displayText ?? completionItem.DisplayText; _imageMoniker = ImageMonikers.GetImageMoniker(CompletionItem.Tags); } @@ -44,7 +41,7 @@ public void Commit() _completionPresenterSession.OnCompletionItemCommitted(CompletionItem); } - public override string DisplayText => _displayText; + public override string DisplayText { get; set; } public override string InsertionText => DisplayText; diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/Roslyn14CompletionSet.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/Roslyn14CompletionSet.cs index 44c8cf37c0a983ada57d6955170ce32c4a2269c6..02738f5b5549852364aad60569a6e0ef0f51475e 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/Roslyn14CompletionSet.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/Roslyn14CompletionSet.cs @@ -140,10 +140,12 @@ private VSCompletion GetVSCompletion(CompletionItem item, string displayText = n VSCompletion value; if (!CompletionItemMap.TryGetValue(item, out value)) { - value = new CustomCommitCompletion(CompletionPresenterSession, item, displayText); + value = new CustomCommitCompletion(CompletionPresenterSession, item); CompletionItemMap.Add(item, value); } + value.DisplayText = displayText ?? item.DisplayText; + return value; }