Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
a3baf9af
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a3baf9af
编写于
3月 16, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
quick access - allow symbol container matches
Separate the query params using space to search in container.
上级
0768edf5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
11 deletion
+30
-11
src/vs/editor/contrib/quickAccess/gotoSymbolQuickAccess.ts
src/vs/editor/contrib/quickAccess/gotoSymbolQuickAccess.ts
+30
-11
未找到文件。
src/vs/editor/contrib/quickAccess/gotoSymbolQuickAccess.ts
浏览文件 @
a3baf9af
...
...
@@ -162,35 +162,54 @@ export abstract class AbstractGotoSymbolQuickAccessProvider extends AbstractEdit
// Normalize filter
const
filterBySymbolKind
=
filter
.
indexOf
(
AbstractGotoSymbolQuickAccessProvider
.
SCOPE_PREFIX
)
===
0
;
const
filterLow
=
filter
.
toLowerCase
();
const
filterPos
=
filterBySymbolKind
?
1
:
0
;
const
[
symbolFilter
,
containerFilter
]
=
filter
.
split
(
'
'
)
as
[
string
,
string
|
undefined
];
const
symbolFilterLow
=
symbolFilter
.
toLowerCase
();
const
containerFilterLow
=
containerFilter
?.
toLowerCase
();
// Convert to symbol picks and apply filtering
const
filteredSymbolPicks
:
IGotoSymbolQuickPickItem
[]
=
[];
for
(
let
index
=
0
;
index
<
symbols
.
length
;
index
++
)
{
const
symbol
=
symbols
[
index
];
const
label
=
trim
(
symbol
.
name
);
const
deprecated
=
symbol
.
tags
&&
symbol
.
tags
.
indexOf
(
SymbolTag
.
Deprecated
)
>=
0
;
const
symbolLabel
=
trim
(
symbol
.
name
);
const
containerLabel
=
symbol
.
containerName
;
let
symbolScore
:
FuzzyScore
|
undefined
=
undefined
;
let
containerScore
:
FuzzyScore
|
undefined
=
undefined
;
let
score
:
FuzzyScore
|
undefined
=
undefined
;
let
includeSymbol
=
true
;
if
(
filter
.
length
>
filterPos
)
{
score
=
fuzzyScore
(
filter
,
filterLow
,
filterPos
,
label
,
label
.
toLowerCase
(),
0
,
true
);
includeSymbol
=
!!
score
;
// Score by symbol
symbolScore
=
fuzzyScore
(
symbolFilter
,
symbolFilterLow
,
filterPos
,
symbolLabel
,
symbolLabel
.
toLowerCase
(),
0
,
true
);
includeSymbol
=
!!
symbolScore
;
// Score by container if specified
if
(
includeSymbol
&&
containerFilter
&&
containerFilterLow
)
{
if
(
containerLabel
)
{
containerScore
=
fuzzyScore
(
containerFilter
,
containerFilterLow
,
filterPos
,
containerLabel
,
containerLabel
.
toLowerCase
(),
0
,
true
);
}
includeSymbol
=
!!
containerScore
;
}
}
if
(
includeSymbol
)
{
const
labelWithIcon
=
`$(symbol-
${
SymbolKinds
.
toString
(
symbol
.
kind
)
||
'
property
'
}
)
${
label
}
`
;
const
labelWithIcon
=
`$(symbol-
${
SymbolKinds
.
toString
(
symbol
.
kind
)
||
'
property
'
}
)
${
symbolLabel
}
`
;
const
deprecated
=
symbol
.
tags
&&
symbol
.
tags
.
indexOf
(
SymbolTag
.
Deprecated
)
>=
0
;
filteredSymbolPicks
.
push
({
index
,
kind
:
symbol
.
kind
,
score
,
score
:
symbolScore
,
label
:
labelWithIcon
,
ariaLabel
:
localize
(
'
symbolsAriaLabel
'
,
"
{0}, symbols picker
"
,
label
),
description
:
symbol
.
containerName
,
highlights
:
deprecated
?
undefined
:
{
label
:
createMatches
(
score
,
labelWithIcon
.
length
-
label
.
length
/* Readjust matches to account for codicons */
)
},
ariaLabel
:
localize
(
'
symbolsAriaLabel
'
,
"
{0}, symbols picker
"
,
symbolLabel
),
description
:
containerLabel
,
highlights
:
deprecated
?
undefined
:
{
label
:
createMatches
(
symbolScore
,
labelWithIcon
.
length
-
symbolLabel
.
length
/* Readjust matches to account for codicons in label */
),
description
:
createMatches
(
containerScore
)
},
range
:
{
selection
:
Range
.
collapseToStart
(
symbol
.
selectionRange
),
decoration
:
symbol
.
range
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录