Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
徽霖
Vscode
提交
6a041bd9
V
Vscode
项目概览
徽霖
/
Vscode
通知
9
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,发现更多精彩内容 >>
提交
6a041bd9
编写于
10月 19, 2016
作者:
K
kieferrm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
limit experiments to first time users; fixes #14009
上级
37c04d7d
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
32 addition
and
4 deletion
+32
-4
src/vs/platform/telemetry/common/telemetry.ts
src/vs/platform/telemetry/common/telemetry.ts
+28
-2
src/vs/workbench/electron-browser/workbench.ts
src/vs/workbench/electron-browser/workbench.ts
+4
-2
未找到文件。
src/vs/platform/telemetry/common/telemetry.ts
浏览文件 @
6a041bd9
...
...
@@ -18,7 +18,9 @@ export interface ITelemetryInfo {
}
export
interface
ITelemetryExperiments
{
showDefaultViewlet
:
boolean
;
showCommandsWatermark
:
boolean
;
openUntitledFile
:
boolean
;
}
export
interface
ITelemetryService
{
...
...
@@ -39,7 +41,9 @@ export interface ITelemetryService {
}
export
const
defaultExperiments
:
ITelemetryExperiments
=
{
showDefaultViewlet
:
false
,
showCommandsWatermark
:
false
,
openUntitledFile
:
true
};
export
const
NullTelemetryService
=
{
...
...
@@ -62,15 +66,31 @@ export const NullTelemetryService = {
};
export
function
loadExperiments
(
storageService
:
IStorageService
,
configurationService
:
IConfigurationService
):
ITelemetryExperiments
{
const
key
=
'
experiments.randomness
'
;
let
valueString
=
storageService
.
get
(
key
);
if
(
!
valueString
)
{
valueString
=
Math
.
random
().
toString
();
storageService
.
store
(
key
,
valueString
);
}
const
value
=
parseFloat
(
valueString
);
const
random0
=
parseFloat
(
valueString
);
let
[
random1
,
showDefaultViewlet
]
=
splitRandom
(
random0
);
const
[
random2
,
showCommandsWatermark
]
=
splitRandom
(
random1
);
let
[,
openUntitledFile
]
=
splitRandom
(
random2
);
// is the user a first time user?
let
isNewSession
=
storageService
.
get
(
'
telemetry.lastSessionDate
'
)
?
false
:
true
;
if
(
!
isNewSession
)
{
// for returning users we fall back to the default configuration for the sidebar and the initially opened, empty editor
showDefaultViewlet
=
defaultExperiments
.
showDefaultViewlet
;
openUntitledFile
=
defaultExperiments
.
openUntitledFile
;
}
return
applyOverrides
(
configurationService
,
{
showCommandsWatermark
:
value
<
0.5
showDefaultViewlet
,
showCommandsWatermark
,
openUntitledFile
});
}
...
...
@@ -85,6 +105,12 @@ export function applyOverrides(configurationService: IConfigurationService, expe
return
experiments
;
}
function
splitRandom
(
random
:
number
):
[
number
,
boolean
]
{
const
scaled
=
random
*
2
;
const
i
=
Math
.
floor
(
scaled
);
return
[
scaled
-
i
,
i
===
1
];
}
export
interface
ITelemetryAppender
{
log
(
eventName
:
string
,
data
:
any
):
void
;
}
...
...
src/vs/workbench/electron-browser/workbench.ts
浏览文件 @
6a041bd9
...
...
@@ -326,7 +326,8 @@ export class Workbench implements IPartService {
}
// Empty workbench
else
if
(
!
this
.
workbenchParams
.
workspace
)
{
else
if
(
!
this
.
workbenchParams
.
workspace
&&
this
.
telemetryService
.
getExperiments
().
openUntitledFile
)
{
// some first time users will not have an untiled file; returning users will always have one
return
TPromise
.
as
([{
input
:
this
.
untitledEditorService
.
createOrGet
()
}]);
}
...
...
@@ -428,7 +429,8 @@ export class Workbench implements IPartService {
// Sidebar visibility
this
.
sideBarHidden
=
this
.
storageService
.
getBoolean
(
Workbench
.
sidebarHiddenSettingKey
,
StorageScope
.
WORKSPACE
,
false
);
if
(
!
this
.
contextService
.
getWorkspace
())
{
this
.
sideBarHidden
=
true
;
// we hide sidebar in single-file-mode
// some first time users will see a sidebar; returning users will not see the sidebar
this
.
sideBarHidden
=
!
this
.
telemetryService
.
getExperiments
().
showDefaultViewlet
;
}
const
viewletRegistry
=
Registry
.
as
<
ViewletRegistry
>
(
ViewletExtensions
.
Viewlets
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录