Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
fcf213ac
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fcf213ac
编写于
9月 05, 2019
作者:
G
Gen Lu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use stable sorting to preserve existing alphabetical order
上级
44c2895d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
7 deletion
+8
-7
src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs
...mplementation/IntelliSense/AsyncCompletion/ItemManager.cs
+8
-7
未找到文件。
src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs
浏览文件 @
fcf213ac
...
...
@@ -153,7 +153,7 @@ internal ItemManager(RecentItemsManager recentItemsManager)
var
completionRules
=
completionService
?.
GetRules
()
??
CompletionRules
.
Default
;
var
completionHelper
=
document
!=
null
?
CompletionHelper
.
GetHelper
(
document
)
:
_defaultCompletionHelper
;
var
initialListOfItemsToBeIncludedB
uilder
=
ArrayBuilder
<
ExtendedFilterResult
>.
GetInstance
();
var
b
uilder
=
ArrayBuilder
<
ExtendedFilterResult
>.
GetInstance
();
foreach
(
var
item
in
data
.
InitialSortedList
)
{
cancellationToken
.
ThrowIfCancellationRequested
();
...
...
@@ -179,7 +179,7 @@ internal ItemManager(RecentItemsManager recentItemsManager)
if
(
MatchesFilterText
(
completionHelper
,
roslynItem
,
filterText
,
initialRoslynTriggerKind
,
filterReason
,
_recentItemsManager
.
RecentItems
,
out
var
patternMatch
))
{
initialListOfItemsToBeIncludedB
uilder
.
Add
(
new
ExtendedFilterResult
(
item
,
new
FilterResult
(
roslynItem
,
filterText
,
matchedFilterText
:
true
,
patternMatch
)));
b
uilder
.
Add
(
new
ExtendedFilterResult
(
item
,
new
FilterResult
(
roslynItem
,
filterText
,
matchedFilterText
:
true
,
patternMatch
)));
}
else
{
...
...
@@ -196,7 +196,7 @@ internal ItemManager(RecentItemsManager recentItemsManager)
initialRoslynTriggerKind
==
CompletionTriggerKind
.
Invoke
||
filterText
.
Length
<=
1
)
{
initialListOfItemsToBeIncludedB
uilder
.
Add
(
new
ExtendedFilterResult
(
item
,
new
FilterResult
(
roslynItem
,
filterText
,
matchedFilterText
:
false
,
patternMatch
)));
b
uilder
.
Add
(
new
ExtendedFilterResult
(
item
,
new
FilterResult
(
roslynItem
,
filterText
,
matchedFilterText
:
false
,
patternMatch
)));
}
}
}
...
...
@@ -212,19 +212,20 @@ internal ItemManager(RecentItemsManager recentItemsManager)
return
null
;
}
if
(
initialListOfItemsToBeIncludedB
uilder
.
Count
==
0
)
if
(
b
uilder
.
Count
==
0
)
{
return
HandleAllItemsFilteredOut
(
reason
,
data
.
SelectedFilters
,
completionRules
);
}
var
initialListOfItemsToBeIncluded
=
builder
.
ToImmutableArray
();
var
experimentationService
=
document
.
Project
.
Solution
.
Workspace
.
Services
.
GetService
<
IExperimentationService
>();
if
(
experimentationService
.
IsExperimentEnabled
(
WellKnownExperimentNames
.
SortCompletionListByMatch
))
{
initialListOfItemsToBeIncludedBuilder
.
Sort
(
new
NullablePatternMatchComparer
());
// Need a stable sorting algorithm to preserve the original order for items with same pattern match score.
initialListOfItemsToBeIncluded
=
initialListOfItemsToBeIncluded
.
OrderBy
(
new
NullablePatternMatchComparer
()).
ToImmutableArray
();
}
var
initialListOfItemsToBeIncluded
=
initialListOfItemsToBeIncludedBuilder
.
ToImmutableAndFree
();
var
options
=
document
?.
Project
.
Solution
.
Options
;
var
highlightMatchingPortions
=
options
?.
GetOption
(
CompletionOptions
.
HighlightMatchingPortionsOfCompletionListItems
,
document
.
Project
.
Language
)
??
true
;
var
showCompletionItemFilters
=
options
?.
GetOption
(
CompletionOptions
.
ShowCompletionItemFilters
,
document
.
Project
.
Language
)
??
true
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录