提交 58a30494 编写于 作者: I Ivan Basov

prefer intellicode items

上级 7cfd54ca
......@@ -293,12 +293,12 @@ private static bool IsAfterDot(ITextSnapshot snapshot, ITrackingSpan applicableT
if (bestItem != null)
{
selectedItemIndex = itemsInList.IndexOf(i => Equals(i.FilterResult.CompletionItem, bestItem));
var deduplicatedList = matchingItems.Where(r => !r.IsPreferredItem());
var deduplicatedListCount = matchingItems.Where(r => !r.IsPreferredItem()).Count();
if (selectedItemIndex > -1 &&
deduplicatedList.Count() == 1 &&
deduplicatedListCount == 1 &&
filterText.Length > 0)
{
var uniqueItemIndex = itemsInList.IndexOf(i => Equals(i.FilterResult.CompletionItem, deduplicatedList.First()));
var uniqueItemIndex = itemsInList.IndexOf(i => Equals(i.FilterResult.CompletionItem, bestItem));
uniqueItem = highlightedList[uniqueItemIndex].CompletionItem;
}
}
......@@ -514,7 +514,7 @@ private static bool ShouldBeFilteredOutOfCompletionList(VSCompletionItem item, I
var bestItemPriority = bestItem.Rules.MatchPriority;
var currentItemPriority = chosenItem.Rules.MatchPriority;
if ((currentItemPriority > bestItemPriority) ||
if ((currentItemPriority > bestItemPriority) ||
((currentItemPriority == bestItemPriority) && !bestItem.IsPreferredItem() && chosenItem.IsPreferredItem()))
{
bestItem = chosenItem;
......
......@@ -5477,7 +5477,7 @@ class C
' We want to ignore these items in CommitIfUnique.
' This situation should not happen. Tests with this provider were added to cover protective scenarios.
Private Class IntelliCodeMockWeirdProvider
Inherits CompletionProvider
Inherits IntelliCodeMockProvider
Public Overrides Function ProvideCompletionsAsync(context As CompletionContext) As Task
context.AddItem(CompletionItem.Create(displayText:="★ Length2", filterText:="Length2"))
......@@ -5485,10 +5485,6 @@ class C
context.AddItem(CompletionItem.Create(displayText:="★ Length3", filterText:="Length3"))
Return Task.CompletedTask
End Function
Public Overrides Function ShouldTriggerCompletion(text As SourceText, caretPosition As Integer, trigger As CompletionTrigger, options As OptionSet) As Boolean
Return True
End Function
End Class
End Class
End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册