Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
f0e15cfe
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f0e15cfe
编写于
5月 22, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove obsolete settings search feedback mechanism
上级
4a3439d2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
85 addition
and
83 deletion
+85
-83
src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts
...rkbench/parts/preferences/browser/preferencesRenderers.ts
+85
-83
未找到文件。
src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts
浏览文件 @
f0e15cfe
...
...
@@ -7,7 +7,6 @@ import { TPromise } from 'vs/base/common/winjs.base';
import
*
as
nls
from
'
vs/nls
'
;
import
{
Delayer
}
from
'
vs/base/common/async
'
;
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
*
as
strings
from
'
vs/base/common/strings
'
;
import
{
Disposable
,
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
Position
}
from
'
vs/editor/common/core/position
'
;
import
{
IAction
}
from
'
vs/base/common/actions
'
;
...
...
@@ -595,8 +594,7 @@ export class FeedbackWidgetRenderer extends Disposable {
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
@
ITelemetryService
private
telemetryService
:
ITelemetryService
,
@
INotificationService
private
notificationService
:
INotificationService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
IConfigurationService
private
configurationService
:
IConfigurationService
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
)
{
super
();
}
...
...
@@ -679,86 +677,90 @@ export class FeedbackWidgetRenderer extends Disposable {
}
private
sendFeedback
(
feedbackEditor
:
ICodeEditor
,
result
:
IFilterResult
,
scoredResults
:
IScoredResults
):
TPromise
<
void
>
{
const
model
=
feedbackEditor
.
getModel
();
const
expectedQueryLines
=
model
.
getLinesContent
()
.
filter
(
line
=>
!
strings
.
startsWith
(
line
,
'
//
'
));
let
expectedQuery
:
any
;
try
{
expectedQuery
=
JSON
.
parse
(
expectedQueryLines
.
join
(
'
\n
'
));
}
catch
(
e
)
{
// invalid JSON
return
TPromise
.
wrapError
(
new
Error
(
'
Invalid JSON:
'
+
e
.
message
));
}
const
userComment
=
expectedQuery
.
comment
===
FeedbackWidgetRenderer
.
DEFAULT_COMMENT_TEXT
?
undefined
:
expectedQuery
.
comment
;
// validate alts
if
(
!
this
.
validateAlts
(
expectedQuery
.
alts
))
{
return
TPromise
.
wrapError
(
new
Error
(
'
alts must be an array of 2-element string arrays
'
));
}
const
altsAdded
=
expectedQuery
.
alts
&&
expectedQuery
.
alts
.
length
;
const
alts
=
altsAdded
?
expectedQuery
.
alts
:
undefined
;
const
workbenchSettings
=
this
.
configurationService
.
getValue
<
IWorkbenchSettingsConfiguration
>
().
workbench
.
settings
;
const
autoIngest
=
workbenchSettings
.
naturalLanguageSearchAutoIngestFeedback
;
const
nlpMetadata
=
result
.
metadata
&&
result
.
metadata
[
'
nlpResult
'
];
const
duration
=
nlpMetadata
&&
nlpMetadata
.
duration
;
const
requestBody
=
nlpMetadata
&&
nlpMetadata
.
requestBody
;
const
actualResultScores
=
{};
for
(
let
key
in
scoredResults
)
{
actualResultScores
[
key
]
=
{
score
:
scoredResults
[
key
].
score
};
}
/* __GDPR__
"settingsSearchResultFeedback" : {
"query" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
"requestBody" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
"userComment" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
"actualResults" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"expectedResults" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
"buildNumber" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
"alts" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"autoIngest" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true }
}
*/
return
this
.
telemetryService
.
publicLog
(
'
settingsSearchResultFeedback
'
,
{
query
:
result
.
query
,
requestBody
,
userComment
,
actualResults
:
actualResultScores
,
expectedResults
:
expectedQuery
.
resultScores
,
duration
,
buildNumber
:
this
.
environmentService
.
settingsSearchBuildId
,
alts
,
autoIngest
});
}
private
validateAlts
(
alts
?:
string
[][]):
boolean
{
if
(
!
alts
)
{
return
true
;
}
if
(
!
Array
.
isArray
(
alts
))
{
return
false
;
}
if
(
!
alts
.
length
)
{
return
true
;
}
if
(
!
alts
.
every
(
altPair
=>
Array
.
isArray
(
altPair
)
&&
altPair
.
length
===
2
&&
typeof
altPair
[
0
]
===
'
string
'
&&
typeof
altPair
[
1
]
===
'
string
'
))
{
return
false
;
}
return
true
;
}
// const model = feedbackEditor.getModel();
// const expectedQueryLines = model.getLinesContent()
// .filter(line => !strings.startsWith(line, '//'));
// let expectedQuery: any;
// try {
// expectedQuery = JSON.parse(expectedQueryLines.join('\n'));
// } catch (e) {
// // invalid JSON
// return TPromise.wrapError(new Error('Invalid JSON: ' + e.message));
// }
// const userComment = expectedQuery.comment === FeedbackWidgetRenderer.DEFAULT_COMMENT_TEXT ? undefined : expectedQuery.comment;
// // validate alts
// if (!this.validateAlts(expectedQuery.alts)) {
// return TPromise.wrapError(new Error('alts must be an array of 2-element string arrays'));
// }
// const altsAdded = expectedQuery.alts && expectedQuery.alts.length;
// const alts = altsAdded ? expectedQuery.alts : undefined;
// const workbenchSettings = this.configurationService.getValue<IWorkbenchSettingsConfiguration>().workbench.settings;
// const autoIngest = workbenchSettings.naturalLanguageSearchAutoIngestFeedback;
// const nlpMetadata = result.metadata && result.metadata['nlpResult'];
// const duration = nlpMetadata && nlpMetadata.duration;
// const requestBody = nlpMetadata && nlpMetadata.requestBody;
// const actualResultScores = {};
// for (let key in scoredResults) {
// actualResultScores[key] = {
// score: scoredResults[key].score
// };
// }
// /* __GDPR__
// "settingsSearchResultFeedback" : {
// "query" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
// "requestBody" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
// "userComment" : { "classification": "CustomerContent", "purpose": "FeatureInsight" },
// "actualResults" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
// "expectedResults" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
// "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
// "buildNumber" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
// "alts" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
// "autoIngest" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true }
// }
// */
// return this.telemetryService.publicLog('settingsSearchResultFeedback', {
// query: result.query,
// requestBody,
// userComment,
// actualResults: actualResultScores,
// expectedResults: expectedQuery.resultScores,
// duration,
// buildNumber: this.environmentService.settingsSearchBuildId,
// alts,
// autoIngest
// });
// TODO@roblou - reduce GDPR-relevant telemetry by removing this, but it's still helpful for personal use.
// Consider changing this to write to disk.
return
TPromise
.
wrap
(
null
);
}
// private validateAlts(alts?: string[][]): boolean {
// if (!alts) {
// return true;
// }
// if (!Array.isArray(alts)) {
// return false;
// }
// if (!alts.length) {
// return true;
// }
// if (!alts.every(altPair => Array.isArray(altPair) && altPair.length === 2 && typeof altPair[0] === 'string' && typeof altPair[1] === 'string')) {
// return false;
// }
// return true;
// }
private
disposeWidget
():
void
{
if
(
this
.
_feedbackWidget
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录