Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
61aa2e58
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,发现更多精彩内容 >>
提交
61aa2e58
编写于
4月 28, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#3355 - Implement telemetry for new settings editor
上级
1b3a77a9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
49 addition
and
5 deletion
+49
-5
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
...vs/workbench/parts/preferences/browser/settingsEditor2.ts
+49
-5
未找到文件。
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
浏览文件 @
61aa2e58
...
...
@@ -32,7 +32,6 @@ import { PreferencesEditorInput2 } from 'vs/workbench/services/preferences/commo
import
{
DefaultSettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
Button
}
from
'
vs/base/browser/ui/button/button
'
;
import
{
IPreferencesSearchService
,
ISearchProvider
}
from
'
../common/preferences
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
isPromiseCanceledError
,
getErrorMessage
}
from
'
vs/base/common/errors
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
registerColor
}
from
'
vs/platform/theme/common/colorRegistry
'
;
...
...
@@ -124,7 +123,6 @@ export class SettingsEditor2 extends BaseEditor {
@
IPreferencesService
private
preferencesService
:
IPreferencesService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IPreferencesSearchService
private
preferencesSearchService
:
IPreferencesSearchService
,
@
IProgressService
private
progressService
:
IProgressService
,
@
ILogService
private
logService
:
ILogService
)
{
super
(
SettingsEditor2
.
ID
,
telemetryService
,
themeService
);
...
...
@@ -291,14 +289,18 @@ export class SettingsEditor2 extends BaseEditor {
private
onInputChanged
():
void
{
const
query
=
this
.
searchWidget
.
getValue
().
trim
();
this
.
delayedFilterLogging
.
cancel
();
this
.
triggerSearch
(
query
);
this
.
triggerSearch
(
query
).
then
(()
=>
{
if
(
query
&&
this
.
searchResults
)
{
this
.
delayedFilterLogging
.
trigger
(()
=>
this
.
reportFilteringUsed
(
query
,
this
.
searchResults
));
}
});
}
private
triggerSearch
(
query
:
string
):
TPromise
<
void
>
{
if
(
query
)
{
return
TPromise
.
join
([
this
.
localSearchDelayer
.
trigger
(()
=>
this
.
localFilterPreferences
(
query
)),
this
.
remoteSearchThrottle
.
trigger
(()
=>
this
.
progressService
.
showWhile
(
this
.
remoteSearchPreferences
(
query
),
500
)
)
this
.
remoteSearchThrottle
.
trigger
(()
=>
this
.
remoteSearchPreferences
(
query
),
500
)
])
as
TPromise
;
}
else
{
// When clearing the input, update immediately to clear it
...
...
@@ -311,6 +313,48 @@ export class SettingsEditor2 extends BaseEditor {
}
}
private
reportFilteringUsed
(
query
:
string
,
results
:
ISearchResult
[]):
void
{
const
nlpResult
=
results
[
SearchResultIdx
.
Remote
];
const
nlpMetadata
=
nlpResult
&&
nlpResult
.
metadata
;
const
durations
=
{};
durations
[
'
nlpResult
'
]
=
nlpMetadata
&&
nlpMetadata
.
duration
;
// Count unique results
const
counts
=
{};
const
filterResult
=
results
[
SearchResultIdx
.
Local
];
counts
[
'
filterResult
'
]
=
filterResult
.
filterMatches
.
length
;
if
(
nlpResult
&&
nlpResult
.
filterMatches
.
length
)
{
const
localMatchKeys
=
new
Set
();
filterResult
.
filterMatches
.
forEach
(
m
=>
localMatchKeys
.
add
(
m
.
setting
.
key
));
counts
[
'
nlpResult
'
]
=
nlpResult
.
filterMatches
.
filter
(
m
=>
!
localMatchKeys
.
has
(
m
.
setting
.
key
))
.
length
;
}
const
requestCount
=
nlpMetadata
&&
nlpMetadata
.
requestCount
;
const
data
=
{
query
,
durations
,
counts
,
requestCount
};
/* __GDPR__
"settingsEditor.filter" : {
"query": { "classification": "CustomerContent", "purpose": "FeatureInsight" },
"durations.nlpResult" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
"counts.nlpResult" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
"counts.filterResult" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
"requestCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true }
}
*/
this
.
telemetryService
.
publicLog
(
'
defaultSettings.filter
'
,
data
);
}
private
localFilterPreferences
(
query
:
string
):
TPromise
<
void
>
{
this
.
currentLocalSearchProvider
=
this
.
preferencesSearchService
.
getLocalSearchProvider
(
query
);
return
this
.
filterOrSearchPreferences
(
query
,
SearchResultIdx
.
Local
,
this
.
currentLocalSearchProvider
);
...
...
@@ -328,7 +372,7 @@ export class SettingsEditor2 extends BaseEditor {
const
[
result
]
=
results
;
this
.
searchResults
=
this
.
searchResults
||
[];
this
.
searchResults
[
type
]
=
result
;
this
.
render
();
return
this
.
render
();
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录