Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5190e300
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,发现更多精彩内容 >>
提交
5190e300
编写于
8月 17, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #56625 - parse setting name from JSON line
And some other fixes
上级
277fe3d3
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
29 addition
and
18 deletion
+29
-18
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
...vs/workbench/parts/preferences/browser/settingsEditor2.ts
+18
-11
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
...workbench/parts/preferences/browser/settingsTreeModels.ts
+1
-1
src/vs/workbench/parts/preferences/browser/tocTree.ts
src/vs/workbench/parts/preferences/browser/tocTree.ts
+10
-6
未找到文件。
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
浏览文件 @
5190e300
...
...
@@ -76,7 +76,7 @@ export class SettingsEditor2 extends BaseEditor {
private
delayedFilterLogging
:
Delayer
<
void
>
;
private
localSearchDelayer
:
Delayer
<
void
>
;
private
remoteSearchThrottle
:
ThrottledDelayer
<
void
>
;
private
search
CancelToken
:
CancellationTokenSource
;
private
search
InProgress
:
CancellationTokenSource
;
private
delayRefreshOnLayout
:
Delayer
<
void
>
;
private
lastLayedoutWidth
:
number
;
...
...
@@ -747,6 +747,11 @@ export class SettingsEditor2 extends BaseEditor {
});
}
private
parseSettingFromJSON
(
query
:
string
):
string
{
const
match
=
query
.
match
(
/"
([
a-zA-Z.
]
+
)
": /
);
return
match
&&
match
[
1
];
}
private
triggerSearch
(
query
:
string
):
TPromise
<
void
>
{
this
.
viewState
.
tagFilters
=
new
Set
<
string
>
();
if
(
query
)
{
...
...
@@ -762,14 +767,16 @@ export class SettingsEditor2 extends BaseEditor {
query
=
query
.
trim
();
if
(
query
&&
query
!==
'
@
'
)
{
this
.
searchCancelToken
=
new
CancellationTokenSource
();
query
=
this
.
parseSettingFromJSON
(
query
)
||
query
;
this
.
searchInProgress
=
new
CancellationTokenSource
();
return
TPromise
.
join
([
this
.
localSearchDelayer
.
trigger
(()
=>
this
.
localFilterPreferences
(
query
,
this
.
searchCancelToken
.
token
)),
this
.
remoteSearchThrottle
.
trigger
(()
=>
this
.
remoteSearchPreferences
(
query
,
this
.
searchCancelToken
.
token
),
500
)
this
.
localSearchDelayer
.
trigger
(()
=>
this
.
searchInProgress
?
this
.
localFilterPreferences
(
query
,
this
.
searchInProgress
.
token
)
:
TPromise
.
wrap
(
null
)),
this
.
remoteSearchThrottle
.
trigger
(()
=>
this
.
searchInProgress
?
this
.
remoteSearchPreferences
(
query
,
this
.
searchInProgress
.
token
)
:
TPromise
.
wrap
(
null
),
500
)
]).
then
(()
=>
{
if
(
this
.
search
CancelToken
)
{
this
.
search
CancelToken
.
dispose
();
this
.
search
CancelToken
=
null
;
if
(
this
.
search
InProgress
)
{
this
.
search
InProgress
.
dispose
();
this
.
search
InProgress
=
null
;
}
});
}
else
{
...
...
@@ -781,10 +788,10 @@ export class SettingsEditor2 extends BaseEditor {
this
.
localSearchDelayer
.
cancel
();
this
.
remoteSearchThrottle
.
cancel
();
if
(
this
.
search
CancelToken
)
{
this
.
search
CancelToken
.
cancel
();
this
.
search
CancelToken
.
dispose
();
this
.
search
CancelToken
=
null
;
if
(
this
.
search
InProgress
)
{
this
.
search
InProgress
.
cancel
();
this
.
search
InProgress
.
dispose
();
this
.
search
InProgress
=
null
;
}
this
.
viewState
.
filterToCategory
=
null
;
...
...
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
浏览文件 @
5190e300
...
...
@@ -429,7 +429,7 @@ export class SearchResultModel extends SettingsTreeModel {
settings
:
this
.
getFlatSettings
()
});
if
(
this
.
newExtensionSearchResults
)
{
if
(
this
.
newExtensionSearchResults
&&
this
.
newExtensionSearchResults
.
filterMatches
.
length
)
{
const
newExtElement
=
new
SettingsTreeNewExtensionsElement
();
newExtElement
.
parent
=
this
.
_root
;
newExtElement
.
id
=
'
newExtensions
'
;
...
...
src/vs/workbench/parts/preferences/browser/tocTree.ts
浏览文件 @
5190e300
...
...
@@ -49,15 +49,21 @@ export class TOCTreeModel {
}
private
updateGroupCount
(
group
:
SettingsTreeGroupElement
):
void
{
group
.
count
=
this
.
_currentSearchModel
?
this
.
getSearchResultChildrenCount
(
group
)
:
undefined
;
group
.
children
.
forEach
(
child
=>
{
if
(
child
instanceof
SettingsTreeGroupElement
)
{
this
.
updateGroupCount
(
child
);
}
});
if
(
this
.
_currentSearchModel
)
{
const
childCount
=
group
.
children
.
filter
(
child
=>
child
instanceof
SettingsTreeGroupElement
)
.
reduce
((
acc
,
cur
)
=>
acc
+
(
<
SettingsTreeGroupElement
>
cur
).
count
,
0
);
group
.
count
=
childCount
+
this
.
getSearchResultChildrenCount
(
group
);
}
else
{
group
.
count
=
undefined
;
}
}
private
getSearchResultChildrenCount
(
group
:
SettingsTreeGroupElement
):
number
{
...
...
@@ -70,8 +76,6 @@ export class TOCTreeModel {
return
group
.
children
.
some
(
child
=>
{
if
(
child
instanceof
SettingsTreeSettingElement
)
{
return
child
.
setting
.
key
===
setting
.
key
&&
child
.
matchesAllTags
(
this
.
viewState
.
tagFilters
);
}
else
if
(
child
instanceof
SettingsTreeGroupElement
)
{
return
this
.
groupContainsSetting
(
child
,
setting
);
}
else
{
return
false
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录