Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
b84a549c
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,发现更多精彩内容 >>
提交
b84a549c
编写于
3月 22, 2019
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add telemetry to know how often formatter choice is shown, #41882
上级
2344aade
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
0 deletion
+28
-0
src/vs/workbench/contrib/format/browser/formatActionsMultiple.ts
...workbench/contrib/format/browser/formatActionsMultiple.ts
+28
-0
未找到文件。
src/vs/workbench/contrib/format/browser/formatActionsMultiple.ts
浏览文件 @
b84a549c
...
...
@@ -18,6 +18,8 @@ import { formatDocumentRangeWithProvider, formatDocumentWithProvider, getRealAnd
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
import
{
showExtensionQuery
}
from
'
vs/workbench/contrib/format/browser/showExtensionQuery
'
;
import
{
IViewletService
}
from
'
vs/workbench/services/viewlet/browser/viewlet
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ExtensionIdentifier
}
from
'
vs/platform/extensions/common/extensions
'
;
interface
IIndexedPick
extends
IQuickPickItem
{
index
:
number
;
...
...
@@ -28,6 +30,26 @@ const openExtensionAction: IQuickInputButton = {
iconClass
:
'
format-show-extension
'
};
function
logFormatterTelemetry
<
T
extends
{
extensionId
?:
ExtensionIdentifier
}
>
(
telemetryService
:
ITelemetryService
,
mode
:
'
document
'
|
'
range
'
,
options
:
T
[],
pick
?:
T
)
{
function
extKey
(
obj
:
T
):
string
{
return
obj
.
extensionId
?
ExtensionIdentifier
.
toKey
(
obj
.
extensionId
)
:
'
unknown
'
;
}
/*
* __GDPR__
"formatterpick" : {
"mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"extensions" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"pick" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
}
*/
telemetryService
.
publicLog
(
'
formatterpick
'
,
{
mode
,
extensions
:
options
.
map
(
extKey
),
pick
:
pick
?
extKey
(
pick
)
:
'
none
'
});
}
registerEditorAction
(
class
FormatDocumentMultipleAction
extends
EditorAction
{
constructor
()
{
...
...
@@ -56,6 +78,7 @@ registerEditorAction(class FormatDocumentMultipleAction extends EditorAction {
const
instaService
=
accessor
.
get
(
IInstantiationService
);
const
quickPickService
=
accessor
.
get
(
IQuickInputService
);
const
viewletService
=
accessor
.
get
(
IViewletService
);
const
telemetryService
=
accessor
.
get
(
ITelemetryService
);
const
model
=
editor
.
getModel
();
const
provider
=
getRealAndSyntheticDocumentFormattersOrdered
(
model
);
...
...
@@ -77,6 +100,8 @@ registerEditorAction(class FormatDocumentMultipleAction extends EditorAction {
if
(
pick
)
{
await
instaService
.
invokeFunction
(
formatDocumentWithProvider
,
provider
[
pick
.
index
],
editor
,
CancellationToken
.
None
);
}
logFormatterTelemetry
(
telemetryService
,
'
document
'
,
provider
,
pick
&&
provider
[
pick
.
index
]);
}
});
...
...
@@ -108,6 +133,7 @@ registerEditorAction(class FormatSelectionMultipleAction extends EditorAction {
const
instaService
=
accessor
.
get
(
IInstantiationService
);
const
quickPickService
=
accessor
.
get
(
IQuickInputService
);
const
viewletService
=
accessor
.
get
(
IViewletService
);
const
telemetryService
=
accessor
.
get
(
ITelemetryService
);
const
model
=
editor
.
getModel
();
let
range
:
Range
=
editor
.
getSelection
();
...
...
@@ -134,5 +160,7 @@ registerEditorAction(class FormatSelectionMultipleAction extends EditorAction {
if
(
pick
)
{
await
instaService
.
invokeFunction
(
formatDocumentRangeWithProvider
,
provider
[
pick
.
index
],
editor
,
range
,
CancellationToken
.
None
);
}
logFormatterTelemetry
(
telemetryService
,
'
range
'
,
provider
,
pick
&&
provider
[
pick
.
index
]);
}
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录