Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
53ec5ac5
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,发现更多精彩内容 >>
提交
53ec5ac5
编写于
10月 21, 2018
作者:
R
Ramya Achutha Rao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support promptText for multiple languages
上级
852cfdaa
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
41 addition
and
4 deletion
+41
-4
src/vs/workbench/parts/experiments/electron-browser/experimentalPrompt.ts
.../parts/experiments/electron-browser/experimentalPrompt.ts
+15
-2
src/vs/workbench/parts/experiments/node/experimentService.ts
src/vs/workbench/parts/experiments/node/experimentService.ts
+1
-1
src/vs/workbench/parts/experiments/test/electron-browser/experimentalPrompts.test.ts
...riments/test/electron-browser/experimentalPrompts.test.ts
+25
-1
未找到文件。
src/vs/workbench/parts/experiments/electron-browser/experimentalPrompt.ts
浏览文件 @
53ec5ac5
...
...
@@ -10,6 +10,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import
{
IExtensionsViewlet
}
from
'
vs/workbench/parts/extensions/common/extensions
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
import
{
Disposable
,
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
language
}
from
'
vs/base/common/platform
'
;
export
class
ExperimentalPrompts
extends
Disposable
implements
IWorkbenchContribution
{
private
_disposables
:
IDisposable
[]
=
[];
...
...
@@ -50,7 +51,8 @@ export class ExperimentalPrompts extends Disposable implements IWorkbenchContrib
};
const
actionProperties
=
(
<
IExperimentActionPromptProperties
>
experiment
.
action
.
properties
);
if
(
!
actionProperties
||
!
actionProperties
.
promptText
)
{
const
promptText
=
ExperimentalPrompts
.
getPromptText
(
actionProperties
,
language
);
if
(
!
actionProperties
||
!
promptText
)
{
return
;
}
if
(
!
actionProperties
.
commands
)
{
...
...
@@ -80,7 +82,7 @@ export class ExperimentalPrompts extends Disposable implements IWorkbenchContrib
};
});
this
.
notificationService
.
prompt
(
Severity
.
Info
,
actionProperties
.
promptText
,
choices
,
{
this
.
notificationService
.
prompt
(
Severity
.
Info
,
promptText
,
choices
,
{
onCancel
:
()
=>
{
logTelemetry
();
this
.
experimentService
.
markAsCompleted
(
experiment
.
id
);
...
...
@@ -91,4 +93,15 @@ export class ExperimentalPrompts extends Disposable implements IWorkbenchContrib
dispose
()
{
this
.
_disposables
=
dispose
(
this
.
_disposables
);
}
static
getPromptText
(
actionProperties
:
IExperimentActionPromptProperties
,
displayLanguage
:
string
):
string
{
if
(
typeof
actionProperties
.
promptText
===
'
string
'
)
{
return
actionProperties
.
promptText
;
}
displayLanguage
=
displayLanguage
.
toLowerCase
();
if
(
!
actionProperties
.
promptText
[
displayLanguage
]
&&
displayLanguage
.
indexOf
(
'
-
'
)
===
2
)
{
displayLanguage
=
displayLanguage
.
substr
(
0
,
2
);
}
return
actionProperties
.
promptText
[
displayLanguage
];
}
}
src/vs/workbench/parts/experiments/node/experimentService.ts
浏览文件 @
53ec5ac5
...
...
@@ -76,7 +76,7 @@ export enum ExperimentActionType {
}
export
interface
IExperimentActionPromptProperties
{
promptText
:
string
;
promptText
:
string
|
{
[
key
:
string
]:
string
}
;
commands
:
IExperimentActionPromptCommand
[];
}
...
...
src/vs/workbench/parts/experiments/test/electron-browser/experimentalPrompts.test.ts
浏览文件 @
53ec5ac5
...
...
@@ -5,7 +5,7 @@
import
*
as
assert
from
'
assert
'
;
import
{
IExperiment
,
ExperimentActionType
,
IExperimentService
,
ExperimentState
}
from
'
vs/workbench/parts/experiments/node/experimentService
'
;
import
{
IExperiment
,
ExperimentActionType
,
IExperimentService
,
ExperimentState
,
IExperimentActionPromptProperties
}
from
'
vs/workbench/parts/experiments/node/experimentService
'
;
import
{
TestInstantiationService
}
from
'
vs/platform/instantiation/test/common/instantiationServiceMock
'
;
import
{
Emitter
}
from
'
vs/base/common/event
'
;
...
...
@@ -157,4 +157,28 @@ suite('Experimental Prompts', () => {
});
});
test
(
'
Test getPromptText
'
,
()
=>
{
const
simpleTextCase
:
IExperimentActionPromptProperties
=
{
promptText
:
'
My simple prompt
'
,
commands
:
[]
};
const
englishTextCase
:
IExperimentActionPromptProperties
=
{
promptText
:
{
en
:
'
My simple prompt for en
'
},
commands
:
[]
};
const
englishUSTextCase
:
IExperimentActionPromptProperties
=
{
promptText
:
{
'
en-us
'
:
'
My simple prompt for en
'
},
commands
:
[]
};
assert
.
equal
(
ExperimentalPrompts
.
getPromptText
(
simpleTextCase
,
'
any-language
'
),
simpleTextCase
.
promptText
);
assert
.
equal
(
ExperimentalPrompts
.
getPromptText
(
englishTextCase
,
'
en
'
),
englishTextCase
.
promptText
[
'
en
'
]);
assert
.
equal
(
ExperimentalPrompts
.
getPromptText
(
englishUSTextCase
,
'
en-us
'
),
englishUSTextCase
.
promptText
[
'
en-us
'
]);
assert
.
equal
(
ExperimentalPrompts
.
getPromptText
(
englishTextCase
,
'
en-au
'
),
englishTextCase
.
promptText
[
'
en
'
]);
assert
.
equal
(
!!
ExperimentalPrompts
.
getPromptText
(
englishTextCase
,
'
de
'
),
false
);
});
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录