Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
4c952de9
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,发现更多精彩内容 >>
提交
4c952de9
编写于
7月 15, 2019
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Define exepriments service interface in common and register a simple service for web
上级
b4cc6f85
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
120 addition
and
78 deletion
+120
-78
src/vs/platform/storage/node/storageIpc.ts
src/vs/platform/storage/node/storageIpc.ts
+1
-1
src/vs/platform/telemetry/common/telemetry.ts
src/vs/platform/telemetry/common/telemetry.ts
+6
-0
src/vs/platform/telemetry/node/workbenchCommonProperties.ts
src/vs/platform/telemetry/node/workbenchCommonProperties.ts
+1
-5
src/vs/workbench/browser/web.simpleservices.ts
src/vs/workbench/browser/web.simpleservices.ts
+33
-1
src/vs/workbench/contrib/experiments/common/experimentService.ts
...workbench/contrib/experiments/common/experimentService.ts
+59
-0
src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts
...contrib/experiments/electron-browser/experimentService.ts
+7
-60
src/vs/workbench/contrib/experiments/electron-browser/experimentalPrompt.ts
...ontrib/experiments/electron-browser/experimentalPrompt.ts
+1
-1
src/vs/workbench/contrib/experiments/electron-browser/experiments.contribution.ts
.../experiments/electron-browser/experiments.contribution.ts
+2
-1
src/vs/workbench/contrib/experiments/test/electron-browser/experimentService.test.ts
...periments/test/electron-browser/experimentService.test.ts
+3
-3
src/vs/workbench/contrib/experiments/test/electron-browser/experimentalPrompts.test.ts
...riments/test/electron-browser/experimentalPrompts.test.ts
+1
-1
src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts
...ntrib/extensions/electron-browser/extensionTipsService.ts
+1
-1
src/vs/workbench/contrib/extensions/electron-browser/extensionsViews.ts
...ch/contrib/extensions/electron-browser/extensionsViews.ts
+1
-1
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsTipsService.test.ts
...sions/test/electron-browser/extensionsTipsService.test.ts
+1
-1
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsViews.test.ts
.../extensions/test/electron-browser/extensionsViews.test.ts
+2
-1
src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/telemetryOptOut.ts
...elcome/gettingStarted/electron-browser/telemetryOptOut.ts
+1
-1
未找到文件。
src/vs/platform/storage/node/storageIpc.ts
浏览文件 @
4c952de9
...
...
@@ -12,7 +12,7 @@ import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
generateUuid
}
from
'
vs/base/common/uuid
'
;
import
{
instanceStorageKey
,
firstSessionDateStorageKey
,
lastSessionDateStorageKey
,
currentSessionDateStorageKey
}
from
'
vs/platform/telemetry/
node/workbenchCommonProperties
'
;
import
{
instanceStorageKey
,
firstSessionDateStorageKey
,
lastSessionDateStorageKey
,
currentSessionDateStorageKey
}
from
'
vs/platform/telemetry/
common/telemetry
'
;
type
Key
=
string
;
type
Value
=
string
;
...
...
src/vs/platform/telemetry/common/telemetry.ts
浏览文件 @
4c952de9
...
...
@@ -38,3 +38,9 @@ export interface ITelemetryService {
isOptedIn
:
boolean
;
}
// Keys
export
const
instanceStorageKey
=
'
telemetry.instanceId
'
;
export
const
currentSessionDateStorageKey
=
'
telemetry.currentSessionDate
'
;
export
const
firstSessionDateStorageKey
=
'
telemetry.firstSessionDate
'
;
export
const
lastSessionDateStorageKey
=
'
telemetry.lastSessionDate
'
;
\ No newline at end of file
src/vs/platform/telemetry/node/workbenchCommonProperties.ts
浏览文件 @
4c952de9
...
...
@@ -5,11 +5,7 @@
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
resolveCommonProperties
}
from
'
vs/platform/telemetry/node/commonProperties
'
;
export
const
instanceStorageKey
=
'
telemetry.instanceId
'
;
export
const
currentSessionDateStorageKey
=
'
telemetry.currentSessionDate
'
;
export
const
firstSessionDateStorageKey
=
'
telemetry.firstSessionDate
'
;
export
const
lastSessionDateStorageKey
=
'
telemetry.lastSessionDate
'
;
import
{
instanceStorageKey
,
firstSessionDateStorageKey
,
lastSessionDateStorageKey
}
from
'
vs/platform/telemetry/common/telemetry
'
;
export
async
function
resolveWorkbenchCommonProperties
(
storageService
:
IStorageService
,
commit
:
string
|
undefined
,
version
:
string
|
undefined
,
machineId
:
string
,
installSourcePath
:
string
,
remoteAuthority
?:
string
):
Promise
<
{
[
name
:
string
]:
string
|
undefined
}
>
{
const
result
=
await
resolveCommonProperties
(
commit
,
version
,
machineId
,
installSourcePath
);
...
...
src/vs/workbench/browser/web.simpleservices.ts
浏览文件 @
4c952de9
...
...
@@ -28,7 +28,6 @@ import { ITunnelService } from 'vs/platform/remote/common/tunnel';
import
{
IReloadSessionEvent
,
IExtensionHostDebugService
,
ICloseSessionEvent
,
IAttachSessionEvent
,
ILogToSessionEvent
,
ITerminateSessionEvent
}
from
'
vs/workbench/services/extensions/common/extensionHostDebug
'
;
import
{
IRemoteConsoleLog
}
from
'
vs/base/common/console
'
;
// tslint:disable-next-line: import-patterns
// tslint:disable-next-line: import-patterns
import
{
IExtensionsWorkbenchService
,
IExtension
as
IExtension2
}
from
'
vs/workbench/contrib/extensions/common/extensions
'
;
import
{
IWorkspaceContextService
,
WorkbenchState
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
addDisposableListener
,
EventType
}
from
'
vs/base/browser/dom
'
;
...
...
@@ -40,6 +39,8 @@ import { ParsedArgs } from 'vs/platform/environment/common/environment';
import
{
ClassifiedEvent
,
StrictPropertyCheck
,
GDPRClassification
}
from
'
vs/platform/telemetry/common/gdprTypings
'
;
import
{
IProcessEnvironment
}
from
'
vs/base/common/platform
'
;
import
{
toStoreData
,
restoreRecentlyOpened
}
from
'
vs/platform/history/common/historyStorage
'
;
// tslint:disable-next-line: import-patterns
import
{
IExperimentService
,
IExperiment
,
ExperimentActionType
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/common/experimentService
'
;
//#region Download
...
...
@@ -997,3 +998,34 @@ class SimpleTunnelService implements ITunnelService {
registerSingleton
(
ITunnelService
,
SimpleTunnelService
);
//#endregion
//#region experiments
class
ExperimentService
implements
IExperimentService
{
_serviceBrand
:
any
;
async
getExperimentById
(
id
:
string
):
Promise
<
IExperiment
>
{
return
{
enabled
:
false
,
id
:
''
,
state
:
ExperimentState
.
NoRun
};
}
async
getExperimentsByType
(
type
:
ExperimentActionType
):
Promise
<
IExperiment
[]
>
{
return
[];
}
async
getCuratedExtensionsList
(
curatedExtensionsKey
:
string
):
Promise
<
string
[]
>
{
return
[];
}
markAsCompleted
(
experimentId
:
string
):
void
{
}
onExperimentEnabled
:
Event
<
IExperiment
>
=
Event
.
None
;
}
registerSingleton
(
IExperimentService
,
ExperimentService
);
//#endregion
src/vs/workbench/contrib/experiments/common/experimentService.ts
0 → 100644
浏览文件 @
4c952de9
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
export
const
enum
ExperimentState
{
Evaluating
,
NoRun
,
Run
,
Complete
}
export
interface
IExperimentAction
{
type
:
ExperimentActionType
;
properties
:
any
;
}
export
enum
ExperimentActionType
{
Custom
=
'
Custom
'
,
Prompt
=
'
Prompt
'
,
AddToRecommendations
=
'
AddToRecommendations
'
,
ExtensionSearchResults
=
'
ExtensionSearchResults
'
}
export
type
LocalizedPromptText
=
{
[
locale
:
string
]:
string
;
};
export
interface
IExperimentActionPromptProperties
{
promptText
:
string
|
LocalizedPromptText
;
commands
:
IExperimentActionPromptCommand
[];
}
export
interface
IExperimentActionPromptCommand
{
text
:
string
|
{
[
key
:
string
]:
string
};
externalLink
?:
string
;
curatedExtensionsKey
?:
string
;
curatedExtensionsList
?:
string
[];
}
export
interface
IExperiment
{
id
:
string
;
enabled
:
boolean
;
state
:
ExperimentState
;
action
?:
IExperimentAction
;
}
export
interface
IExperimentService
{
_serviceBrand
:
any
;
getExperimentById
(
id
:
string
):
Promise
<
IExperiment
>
;
getExperimentsByType
(
type
:
ExperimentActionType
):
Promise
<
IExperiment
[]
>
;
getCuratedExtensionsList
(
curatedExtensionsKey
:
string
):
Promise
<
string
[]
>
;
markAsCompleted
(
experimentId
:
string
):
void
;
onExperimentEnabled
:
Event
<
IExperiment
>
;
}
export
const
IExperimentService
=
createDecorator
<
IExperimentService
>
(
'
experimentService
'
);
\ No newline at end of file
src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts
浏览文件 @
4c952de9
...
...
@@ -3,12 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
product
from
'
vs/platform/product/node/product
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
,
lastSessionDateStorageKey
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ILifecycleService
,
LifecyclePhase
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IExtensionManagementService
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
...
...
@@ -21,8 +18,9 @@ import { ITextFileService, StateChange } from 'vs/workbench/services/textfile/co
import
{
WorkspaceStats
}
from
'
vs/workbench/contrib/stats/electron-browser/workspaceStats
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
distinct
}
from
'
vs/base/common/arrays
'
;
import
{
lastSessionDateStorageKey
}
from
'
vs/platform/telemetry/node/workbenchCommonProperties
'
;
import
{
ExtensionType
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
ExperimentState
,
IExperimentAction
,
IExperimentService
,
IExperiment
,
ExperimentActionType
,
IExperimentActionPromptProperties
}
from
'
vs/workbench/contrib/experiments/common/experimentService
'
;
import
{
IProductService
}
from
'
vs/platform/product/common/product
'
;
interface
IExperimentStorageState
{
enabled
:
boolean
;
...
...
@@ -31,13 +29,6 @@ interface IExperimentStorageState {
lastEditedDate
?:
string
;
}
export
const
enum
ExperimentState
{
Evaluating
,
NoRun
,
Run
,
Complete
}
interface
IRawExperiment
{
id
:
string
;
enabled
?:
boolean
;
...
...
@@ -64,51 +55,6 @@ interface IRawExperiment {
action
?:
IExperimentAction
;
}
interface
IExperimentAction
{
type
:
ExperimentActionType
;
properties
:
any
;
}
export
enum
ExperimentActionType
{
Custom
=
'
Custom
'
,
Prompt
=
'
Prompt
'
,
AddToRecommendations
=
'
AddToRecommendations
'
,
ExtensionSearchResults
=
'
ExtensionSearchResults
'
}
export
type
LocalizedPromptText
=
{
[
locale
:
string
]:
string
;
};
export
interface
IExperimentActionPromptProperties
{
promptText
:
string
|
LocalizedPromptText
;
commands
:
IExperimentActionPromptCommand
[];
}
export
interface
IExperimentActionPromptCommand
{
text
:
string
|
{
[
key
:
string
]:
string
};
externalLink
?:
string
;
curatedExtensionsKey
?:
string
;
curatedExtensionsList
?:
string
[];
}
export
interface
IExperiment
{
id
:
string
;
enabled
:
boolean
;
state
:
ExperimentState
;
action
?:
IExperimentAction
;
}
export
interface
IExperimentService
{
_serviceBrand
:
any
;
getExperimentById
(
id
:
string
):
Promise
<
IExperiment
>
;
getExperimentsByType
(
type
:
ExperimentActionType
):
Promise
<
IExperiment
[]
>
;
getCuratedExtensionsList
(
curatedExtensionsKey
:
string
):
Promise
<
string
[]
>
;
markAsCompleted
(
experimentId
:
string
):
void
;
onExperimentEnabled
:
Event
<
IExperiment
>
;
}
export
const
IExperimentService
=
createDecorator
<
IExperimentService
>
(
'
experimentService
'
);
export
class
ExperimentService
extends
Disposable
implements
IExperimentService
{
_serviceBrand
:
any
;
private
_experiments
:
IExperiment
[]
=
[];
...
...
@@ -127,7 +73,8 @@ export class ExperimentService extends Disposable implements IExperimentService
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
ILifecycleService
private
readonly
lifecycleService
:
ILifecycleService
,
@
IRequestService
private
readonly
requestService
:
IRequestService
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
@
IProductService
private
readonly
productService
:
IProductService
)
{
super
();
...
...
@@ -171,10 +118,10 @@ export class ExperimentService extends Disposable implements IExperimentService
}
protected
getExperiments
():
Promise
<
IRawExperiment
[]
>
{
if
(
!
product
.
experimentsUrl
||
this
.
configurationService
.
getValue
(
'
workbench.enableExperiments
'
)
===
false
)
{
if
(
!
this
.
productService
.
experimentsUrl
||
this
.
configurationService
.
getValue
(
'
workbench.enableExperiments
'
)
===
false
)
{
return
Promise
.
resolve
([]);
}
return
this
.
requestService
.
request
({
type
:
'
GET
'
,
url
:
product
.
experimentsUrl
},
CancellationToken
.
None
).
then
(
context
=>
{
return
this
.
requestService
.
request
({
type
:
'
GET
'
,
url
:
this
.
productService
.
experimentsUrl
},
CancellationToken
.
None
).
then
(
context
=>
{
if
(
context
.
res
.
statusCode
!==
200
)
{
return
Promise
.
resolve
(
null
);
}
...
...
src/vs/workbench/contrib/experiments/electron-browser/experimentalPrompt.ts
浏览文件 @
4c952de9
...
...
@@ -5,7 +5,7 @@
import
{
IViewletService
}
from
'
vs/workbench/services/viewlet/browser/viewlet
'
;
import
{
INotificationService
,
Severity
,
IPromptChoice
}
from
'
vs/platform/notification/common/notification
'
;
import
{
IExperimentService
,
IExperiment
,
ExperimentActionType
,
IExperimentActionPromptProperties
,
IExperimentActionPromptCommand
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
IExperimentService
,
IExperiment
,
ExperimentActionType
,
IExperimentActionPromptProperties
,
IExperimentActionPromptCommand
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IExtensionsViewlet
}
from
'
vs/workbench/contrib/extensions/common/extensions
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
...
...
src/vs/workbench/contrib/experiments/electron-browser/experiments.contribution.ts
浏览文件 @
4c952de9
...
...
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
IExperimentService
,
ExperimentService
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
IExperimentService
}
from
'
vs/workbench/contrib/experiments/common/experimentService
'
;
import
{
ExperimentService
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
IWorkbenchContributionsRegistry
,
Extensions
as
WorkbenchExtensions
}
from
'
vs/workbench/common/contributions
'
;
import
{
LifecyclePhase
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
...
...
src/vs/workbench/contrib/experiments/test/electron-browser/experimentService.test.ts
浏览文件 @
4c952de9
...
...
@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import
*
as
assert
from
'
assert
'
;
import
{
ExperimentService
,
ExperimentActionType
,
ExperimentState
,
IExperiment
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
ExperimentActionType
,
ExperimentState
,
IExperiment
}
from
'
vs/workbench/contrib/experiments/common/experimentService
'
;
import
{
ExperimentService
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
TestInstantiationService
}
from
'
vs/platform/instantiation/test/common/instantiationServiceMock
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
TestLifecycleService
}
from
'
vs/workbench/test/workbenchTestServices
'
;
...
...
@@ -17,7 +18,7 @@ import { Emitter } from 'vs/base/common/event';
import
{
TestExtensionEnablementService
}
from
'
vs/workbench/services/extensionManagement/test/electron-browser/extensionEnablementService.test
'
;
import
{
URLService
}
from
'
vs/platform/url/common/urlService
'
;
import
{
IURLService
}
from
'
vs/platform/url/common/url
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
,
lastSessionDateStorageKey
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetryUtils
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
TestConfigurationService
}
from
'
vs/platform/configuration/test/common/testConfigurationService
'
;
...
...
@@ -25,7 +26,6 @@ import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
lastSessionDateStorageKey
}
from
'
vs/platform/telemetry/node/workbenchCommonProperties
'
;
import
{
getGalleryExtensionId
}
from
'
vs/platform/extensionManagement/common/extensionManagementUtil
'
;
import
{
ExtensionType
}
from
'
vs/platform/extensions/common/extensions
'
;
...
...
src/vs/workbench/contrib/experiments/test/electron-browser/experimentalPrompts.test.ts
浏览文件 @
4c952de9
...
...
@@ -13,7 +13,7 @@ import { IStorageService, StorageScope } from 'vs/platform/storage/common/storag
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
NullTelemetryService
}
from
'
vs/platform/telemetry/common/telemetryUtils
'
;
import
{
ExperimentalPrompts
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentalPrompt
'
;
import
{
ExperimentActionType
,
ExperimentState
,
IExperiment
,
IExperimentActionPromptProperties
,
IExperimentService
,
LocalizedPromptText
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
ExperimentActionType
,
ExperimentState
,
IExperiment
,
IExperimentActionPromptProperties
,
IExperimentService
,
LocalizedPromptText
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
TestExperimentService
}
from
'
vs/workbench/contrib/experiments/test/electron-browser/experimentService.test
'
;
import
{
TestLifecycleService
}
from
'
vs/workbench/test/workbenchTestServices
'
;
...
...
src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts
浏览文件 @
4c952de9
...
...
@@ -40,7 +40,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
areSameExtensions
}
from
'
vs/platform/extensionManagement/common/extensionManagementUtil
'
;
import
{
IExperimentService
,
ExperimentActionType
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
IExperimentService
,
ExperimentActionType
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
ExtensionType
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
extname
}
from
'
vs/base/common/resources
'
;
...
...
src/vs/workbench/contrib/extensions/electron-browser/extensionsViews.ts
浏览文件 @
4c952de9
...
...
@@ -34,7 +34,7 @@ import { INotificationService, Severity } from 'vs/platform/notification/common/
import
{
ViewletPanel
,
IViewletPanelOptions
}
from
'
vs/workbench/browser/parts/views/panelViewlet
'
;
import
{
IWorkspaceContextService
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
distinct
,
coalesce
}
from
'
vs/base/common/arrays
'
;
import
{
IExperimentService
,
IExperiment
,
ExperimentActionType
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
IExperimentService
,
IExperiment
,
ExperimentActionType
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
alert
}
from
'
vs/base/browser/ui/aria/aria
'
;
import
{
IListContextMenuEvent
}
from
'
vs/base/browser/ui/list/list
'
;
import
{
createErrorWithActions
}
from
'
vs/base/common/errorsWithActions
'
;
...
...
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsTipsService.test.ts
浏览文件 @
4c952de9
...
...
@@ -41,7 +41,7 @@ import { IModelService } from 'vs/editor/common/services/modelService';
import
{
ILifecycleService
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
INotificationService
,
Severity
,
IPromptChoice
,
IPromptOptions
}
from
'
vs/platform/notification/common/notification
'
;
import
{
URLService
}
from
'
vs/platform/url/common/urlService
'
;
import
{
IExperimentService
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
IExperimentService
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
TestExperimentService
}
from
'
vs/workbench/contrib/experiments/test/electron-browser/experimentService.test
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
ExtensionType
}
from
'
vs/platform/extensions/common/extensions
'
;
...
...
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsViews.test.ts
浏览文件 @
4c952de9
...
...
@@ -34,7 +34,8 @@ import { URLService } from 'vs/platform/url/common/urlService';
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
TestConfigurationService
}
from
'
vs/platform/configuration/test/common/testConfigurationService
'
;
import
{
SinonStub
}
from
'
sinon
'
;
import
{
IExperimentService
,
ExperimentService
,
ExperimentState
,
ExperimentActionType
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
IExperimentService
,
ExperimentState
,
ExperimentActionType
}
from
'
vs/workbench/contrib/experiments/common/experimentService
'
;
import
{
ExperimentService
}
from
'
vs/workbench/contrib/experiments/electron-browser/experimentService
'
;
import
{
IRemoteAgentService
}
from
'
vs/workbench/services/remote/common/remoteAgentService
'
;
import
{
RemoteAgentService
}
from
'
vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl
'
;
import
{
ExtensionIdentifier
,
ExtensionType
,
IExtensionDescription
}
from
'
vs/platform/extensions/common/extensions
'
;
...
...
src/vs/workbench/contrib/welcome/gettingStarted/electron-browser/telemetryOptOut.ts
浏览文件 @
4c952de9
...
...
@@ -13,7 +13,7 @@ import { URI } from 'vs/base/common/uri';
import
{
localize
}
from
'
vs/nls
'
;
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
IWindowService
,
IWindowsService
}
from
'
vs/platform/windows/common/windows
'
;
import
{
IExperimentService
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
electron-browser
/experimentService
'
;
import
{
IExperimentService
,
ExperimentState
}
from
'
vs/workbench/contrib/experiments/
common
/experimentService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
language
,
locale
}
from
'
vs/base/common/platform
'
;
import
{
IExtensionGalleryService
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录