Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
7dbd9689
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,发现更多精彩内容 >>
提交
7dbd9689
编写于
10月 31, 2016
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Renaming in extensionRuntimeService
上级
d765d6b9
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
41 addition
and
42 deletion
+41
-42
src/vs/platform/extensions/common/extensions.ts
src/vs/platform/extensions/common/extensions.ts
+5
-6
src/vs/workbench/api/node/mainThreadExtensionService.ts
src/vs/workbench/api/node/mainThreadExtensionService.ts
+3
-3
src/vs/workbench/electron-browser/shell.ts
src/vs/workbench/electron-browser/shell.ts
+4
-4
src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
...ch/parts/extensions/electron-browser/extensionsActions.ts
+14
-14
src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts
...ch/parts/extensions/electron-browser/extensionsWidgets.ts
+4
-4
src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts
...bench/parts/extensions/node/extensionsWorkbenchService.ts
+7
-7
src/vs/workbench/services/extensions/electron-browser/extensionRuntimeService.ts
...es/extensions/electron-browser/extensionRuntimeService.ts
+4
-4
未找到文件。
src/vs/platform/extensions/common/extensions.ts
浏览文件 @
7dbd9689
...
...
@@ -72,16 +72,15 @@ export interface IExtensionService {
getExtensionsStatus
():
{
[
id
:
string
]:
IExtensionsStatus
};
}
export
const
IExtension
sRuntimeService
=
createDecorator
<
IExtensionsRuntimeService
>
(
'
extensions
RuntimeService
'
);
export
const
IExtension
RuntimeService
=
createDecorator
<
IExtensionRuntimeService
>
(
'
extension
RuntimeService
'
);
export
interface
IExtension
s
RuntimeService
{
export
interface
IExtensionRuntimeService
{
_serviceBrand
:
any
;
/**
* Scans and returns only enabled extensions.
* **NOTE**: This call returns different results based on `setEnablement` calls!
* Returns all extensions enabled for the current VS Code window
*/
getExtensions
():
TPromise
<
IExtensionDescription
[]
>
;
getE
nabledE
xtensions
():
TPromise
<
IExtensionDescription
[]
>
;
/**
* Returns `true` if given extension is disabled, otherwise `false`.
...
...
@@ -91,7 +90,7 @@ export interface IExtensionsRuntimeService {
/**
* Returns `true` if given extension is disabled always, otherwise `false`.
*/
isDisabled
Always
(
identifier
:
string
):
boolean
;
isDisabled
Globally
(
identifier
:
string
):
boolean
;
/**
* Returns `true` if given extension can be enabled by calling `setEnablement`, otherwise false`.
...
...
src/vs/workbench/api/node/mainThreadExtensionService.ts
浏览文件 @
7dbd9689
...
...
@@ -7,7 +7,7 @@
import
Severity
from
'
vs/base/common/severity
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
AbstractExtensionService
,
ActivatedExtension
}
from
'
vs/platform/extensions/common/abstractExtensionService
'
;
import
{
IExtension
s
RuntimeService
,
IMessage
,
IExtensionDescription
,
IExtensionsStatus
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionRuntimeService
,
IMessage
,
IExtensionDescription
,
IExtensionsStatus
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
ExtensionsRegistry
,
ExtensionPoint
,
IExtensionPointUser
,
ExtensionMessageCollector
}
from
'
vs/platform/extensions/common/extensionsRegistry
'
;
import
{
IMessageService
}
from
'
vs/platform/message/common/message
'
;
import
{
IThreadService
}
from
'
vs/workbench/services/thread/common/threadService
'
;
...
...
@@ -54,7 +54,7 @@ export class MainProcessExtensionService extends AbstractExtensionService<Activa
@
IThreadService
threadService
:
IThreadService
,
@
IMessageService
messageService
:
IMessageService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
IExtension
sRuntimeService
extensionsRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
extensionsRuntimeService
:
IExtension
RuntimeService
)
{
super
(
false
);
this
.
_isDev
=
!
environmentService
.
isBuilt
||
!!
environmentService
.
extensionDevelopmentPath
;
...
...
@@ -64,7 +64,7 @@ export class MainProcessExtensionService extends AbstractExtensionService<Activa
this
.
_proxy
=
this
.
_threadService
.
get
(
ExtHostContext
.
ExtHostExtensionService
);
this
.
_extensionsStatus
=
{};
extensionsRuntimeService
.
getExtensions
().
then
((
extensionDescriptions
)
=>
this
.
_onExtensionDescriptions
(
extensionDescriptions
));
extensionsRuntimeService
.
getE
nabledE
xtensions
().
then
((
extensionDescriptions
)
=>
this
.
_onExtensionDescriptions
(
extensionDescriptions
));
}
private
_handleMessage
(
msg
:
IMessage
)
{
...
...
src/vs/workbench/electron-browser/shell.ts
浏览文件 @
7dbd9689
...
...
@@ -64,7 +64,7 @@ import { IThreadService } from 'vs/workbench/services/thread/common/threadServic
import
{
ICommandService
}
from
'
vs/platform/commands/common/commands
'
;
import
{
CommandService
}
from
'
vs/platform/commands/common/commandService
'
;
import
{
IWorkspaceContextService
,
IWorkspace
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
IExtensionService
,
IExtension
s
RuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionService
,
IExtensionRuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
MainThreadModeServiceImpl
}
from
'
vs/editor/common/services/modeServiceImpl
'
;
import
{
IModeService
}
from
'
vs/editor/common/services/modeService
'
;
import
{
IUntitledEditorService
,
UntitledEditorService
}
from
'
vs/workbench/services/untitled/common/untitledEditorService
'
;
...
...
@@ -82,7 +82,7 @@ import { IURLService } from 'vs/platform/url/common/url';
import
{
ReloadWindowAction
}
from
'
vs/workbench/electron-browser/actions
'
;
import
{
WorkspaceConfigurationService
}
from
'
vs/workbench/services/configuration/node/configurationService
'
;
import
{
ExtensionHostProcessWorker
}
from
'
vs/workbench/services/extensions/electron-browser/extensionHost
'
;
import
{
Extension
sRuntimeService
}
from
'
vs/workbench/services/extensions/electron-browser/extensions
'
;
import
{
Extension
RuntimeService
}
from
'
vs/workbench/services/extensions/electron-browser/extensionRuntimeService
'
;
// self registering services
import
'
vs/platform/opener/browser/opener.contribution
'
;
...
...
@@ -292,8 +292,8 @@ export class WorkbenchShell {
const
extensionManagementChannelClient
=
new
ExtensionManagementChannelClient
(
extensionManagementChannel
);
serviceCollection
.
set
(
IExtensionManagementService
,
extensionManagementChannelClient
);
const
extensionsRuntimeService
=
instantiationService
.
createInstance
(
Extension
s
RuntimeService
);
serviceCollection
.
set
(
IExtension
s
RuntimeService
,
extensionsRuntimeService
);
const
extensionsRuntimeService
=
instantiationService
.
createInstance
(
ExtensionRuntimeService
);
serviceCollection
.
set
(
IExtensionRuntimeService
,
extensionsRuntimeService
);
disposables
.
add
(
extensionsRuntimeService
);
const
extensionHostProcessWorker
=
instantiationService
.
createInstance
(
ExtensionHostProcessWorker
);
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
浏览文件 @
7dbd9689
...
...
@@ -29,7 +29,7 @@ import { ExtensionsConfigurationInitialContent } from 'vs/workbench/parts/extens
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
IWorkspaceContextService
}
from
'
vs/platform/workspace/common/workspace
'
;
import
URI
from
'
vs/base/common/uri
'
;
import
{
IExtension
s
RuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionRuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IWindowService
}
from
'
vs/workbench/services/window/electron-browser/windowService
'
;
const
dialog
=
remote
.
dialog
;
...
...
@@ -357,7 +357,7 @@ export class ManageExtensionAction extends Action {
constructor
(
@
IWorkspaceContextService
private
workspaceContextService
:
IWorkspaceContextService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionRuntimeService
:
IExtensions
RuntimeService
,
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
super
(
ManageExtensionAction
.
ID
);
...
...
@@ -404,7 +404,7 @@ export class EnableForWorkspaceAction extends Action implements IExtensionAction
constructor
(
label
:
string
,
@
IWorkspaceContextService
private
workspaceContextService
:
IWorkspaceContextService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
,
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
super
(
EnableForWorkspaceAction
.
ID
,
label
);
...
...
@@ -417,7 +417,7 @@ export class EnableForWorkspaceAction extends Action implements IExtensionAction
this
.
enabled
=
false
;
if
(
this
.
extension
&&
this
.
workspaceContextService
.
getWorkspace
())
{
this
.
enabled
=
this
.
extension
.
type
!==
LocalExtensionType
.
System
&&
ExtensionState
.
Disabled
===
this
.
extension
.
state
&&
!
this
.
extension
sRuntimeService
.
isDisabledAlways
(
this
.
extension
.
identifier
)
&&
this
.
extensions
RuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
&&
!
this
.
extension
RuntimeService
.
isDisabledGlobally
(
this
.
extension
.
identifier
)
&&
this
.
extension
RuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
}
}
...
...
@@ -444,7 +444,7 @@ export class EnableGloballyAction extends Action implements IExtensionAction {
constructor
(
label
:
string
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
,
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
super
(
EnableGloballyAction
.
ID
,
label
);
...
...
@@ -456,7 +456,7 @@ export class EnableGloballyAction extends Action implements IExtensionAction {
private
update
():
void
{
this
.
enabled
=
false
;
if
(
this
.
extension
)
{
this
.
enabled
=
this
.
extension
.
type
!==
LocalExtensionType
.
System
&&
this
.
extension
sRuntimeService
.
isDisabledAlways
(
this
.
extension
.
identifier
)
&&
this
.
extensions
RuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
this
.
enabled
=
this
.
extension
.
type
!==
LocalExtensionType
.
System
&&
this
.
extension
RuntimeService
.
isDisabledGlobally
(
this
.
extension
.
identifier
)
&&
this
.
extension
RuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
}
}
...
...
@@ -489,7 +489,7 @@ export class EnableAction extends Action {
constructor
(
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
EnableAction
.
ID
,
localize
(
'
enableAction
'
,
"
Enable
"
),
EnableAction
.
DisabledClass
,
false
);
...
...
@@ -507,7 +507,7 @@ export class EnableAction extends Action {
return
;
}
this
.
enabled
=
this
.
extension
.
type
!==
LocalExtensionType
.
System
&&
!
this
.
extension
.
reload
&&
ExtensionState
.
Disabled
===
this
.
extension
.
state
&&
this
.
extension
s
RuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
this
.
enabled
=
this
.
extension
.
type
!==
LocalExtensionType
.
System
&&
!
this
.
extension
.
reload
&&
ExtensionState
.
Disabled
===
this
.
extension
.
state
&&
this
.
extensionRuntimeService
.
canEnable
(
this
.
extension
.
identifier
);
this
.
class
=
this
.
enabled
?
EnableAction
.
EnabledClass
:
EnableAction
.
DisabledClass
;
}
...
...
@@ -682,7 +682,7 @@ export class ReloadAction extends Action {
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IMessageService
private
messageService
:
IMessageService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
'
extensions.reload
'
,
localize
(
'
reloadAction
'
,
"
Reload
"
),
ReloadAction
.
DisabledClass
,
false
);
...
...
@@ -1159,7 +1159,7 @@ export class DisableAllAction extends Action {
constructor
(
id
:
string
=
DisableAllAction
.
ID
,
label
:
string
=
DisableAllAction
.
LABEL
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
id
,
label
);
this
.
update
();
...
...
@@ -1191,7 +1191,7 @@ export class DisableAllWorkpsaceAction extends Action {
id
:
string
=
DisableAllWorkpsaceAction
.
ID
,
label
:
string
=
DisableAllWorkpsaceAction
.
LABEL
,
@
IWorkspaceContextService
private
workspaceContextService
:
IWorkspaceContextService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
id
,
label
);
this
.
update
();
...
...
@@ -1222,7 +1222,7 @@ export class EnableAllAction extends Action {
constructor
(
id
:
string
=
EnableAllAction
.
ID
,
label
:
string
=
EnableAllAction
.
LABEL
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
id
,
label
);
this
.
update
();
...
...
@@ -1254,7 +1254,7 @@ export class EnableAllWorkpsaceAction extends Action {
id
:
string
=
EnableAllWorkpsaceAction
.
ID
,
label
:
string
=
EnableAllWorkpsaceAction
.
LABEL
,
@
IWorkspaceContextService
private
workspaceContextService
:
IWorkspaceContextService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
super
(
id
,
label
);
this
.
update
();
...
...
@@ -1262,7 +1262,7 @@ export class EnableAllWorkpsaceAction extends Action {
}
private
update
():
void
{
this
.
enabled
=
!!
this
.
workspaceContextService
.
getWorkspace
()
&&
this
.
extensionsWorkbenchService
.
local
.
some
(
e
=>
this
.
extensionRuntimeService
.
canEnable
(
e
.
identifier
)
&&
!
this
.
extensionRuntimeService
.
isDisabled
Always
(
e
.
identifier
));
this
.
enabled
=
!!
this
.
workspaceContextService
.
getWorkspace
()
&&
this
.
extensionsWorkbenchService
.
local
.
some
(
e
=>
this
.
extensionRuntimeService
.
canEnable
(
e
.
identifier
)
&&
!
this
.
extensionRuntimeService
.
isDisabled
Globally
(
e
.
identifier
));
}
run
():
TPromise
<
any
>
{
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts
浏览文件 @
7dbd9689
...
...
@@ -10,7 +10,7 @@ import 'vs/css!./media/extensionsWidgets';
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
IExtension
,
IExtensionsWorkbenchService
,
ExtensionState
}
from
'
../common/extensions
'
;
import
{
append
,
$
,
addClass
,
toggleClass
}
from
'
vs/base/browser/dom
'
;
import
{
IExtension
s
RuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionRuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
export
interface
IOptions
{
extension
?:
IExtension
;
...
...
@@ -52,7 +52,7 @@ export class StatusWidget implements IDisposable {
private
container
:
HTMLElement
,
private
_extension
:
IExtension
,
@
IExtensionsWorkbenchService
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
)
{
this
.
render
();
this
.
listener
=
extensionsWorkbenchService
.
onChange
(
this
.
render
,
this
);
...
...
@@ -64,7 +64,7 @@ export class StatusWidget implements IDisposable {
return
;
}
this
.
extension
sRuntimeService
.
get
Extensions
().
done
(
extensions
=>
{
this
.
extension
RuntimeService
.
getEnabled
Extensions
().
done
(
extensions
=>
{
const
status
=
append
(
this
.
container
,
$
(
'
span.extension-status
'
));
const
state
=
this
.
extension
.
state
;
const
enabled
=
state
===
ExtensionState
.
Enabled
||
extensions
.
some
(
e
=>
e
.
id
===
this
.
extension
.
identifier
);
...
...
@@ -73,7 +73,7 @@ export class StatusWidget implements IDisposable {
toggleClass
(
status
,
'
disabled
'
,
disabled
||
installed
);
toggleClass
(
status
,
'
active
'
,
enabled
);
status
.
title
=
disabled
?
this
.
extension
sRuntimeService
.
isDisabledAlways
(
this
.
extension
.
identifier
)
?
localize
(
'
disabled
'
,
"
Disabled
"
)
:
localize
(
'
disabledWorkspace
'
,
"
Disabled (Workspace)
"
)
status
.
title
=
disabled
?
this
.
extension
RuntimeService
.
isDisabledGlobally
(
this
.
extension
.
identifier
)
?
localize
(
'
disabled
'
,
"
Disabled
"
)
:
localize
(
'
disabledWorkspace
'
,
"
Disabled (Workspace)
"
)
:
installed
?
localize
(
'
installed
'
,
"
Installed
"
)
:
enabled
?
localize
(
'
enabled
'
,
"
Enabled
"
)
:
''
;
});
...
...
src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts
浏览文件 @
7dbd9689
...
...
@@ -34,7 +34,7 @@ import { IExtension, IExtensionDependencies, ExtensionState, IExtensionsWorkbenc
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IURLService
}
from
'
vs/platform/url/common/url
'
;
import
{
ExtensionsInput
}
from
'
vs/workbench/parts/extensions/common/extensionsInput
'
;
import
{
IExtension
s
RuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionRuntimeService
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IWorkspaceContextService
}
from
'
vs/platform/workspace/common/workspace
'
;
interface
IExtensionStateProvider
{
...
...
@@ -302,7 +302,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
private
autoUpdateDelayer
:
ThrottledDelayer
<
void
>
;
private
disposables
:
IDisposable
[]
=
[];
// TODO: @sandy - Remove these when IExtension
s
RuntimeService exposes sync API to get extensions.
// TODO: @sandy - Remove these when IExtensionRuntimeService exposes sync API to get extensions.
private
newlyInstalled
:
Extension
[]
=
[];
private
unInstalled
:
Extension
[]
=
[];
...
...
@@ -318,7 +318,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
@
ITelemetryService
private
telemetryService
:
ITelemetryService
,
@
IMessageService
private
messageService
:
IMessageService
,
@
IURLService
urlService
:
IURLService
,
@
IExtension
sRuntimeService
private
extensionsRuntimeService
:
IExtensions
RuntimeService
,
@
IExtension
RuntimeService
private
extensionRuntimeService
:
IExtension
RuntimeService
,
@
IWorkspaceContextService
private
workspaceContextService
:
IWorkspaceContextService
,
)
{
this
.
stateProvider
=
ext
=>
this
.
getExtensionState
(
ext
);
...
...
@@ -512,14 +512,14 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
private
doSetEnablement
(
extension
:
IExtension
,
enable
:
boolean
,
workspace
:
boolean
):
TPromise
<
boolean
>
{
if
(
workspace
)
{
return
this
.
extension
s
RuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
workspace
);
return
this
.
extensionRuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
workspace
);
}
const
globalElablement
=
this
.
extension
s
RuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
false
);
const
globalElablement
=
this
.
extensionRuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
false
);
if
(
!
this
.
workspaceContextService
.
getWorkspace
())
{
return
globalElablement
;
}
return
TPromise
.
join
([
globalElablement
,
this
.
extension
s
RuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
true
)])
return
TPromise
.
join
([
globalElablement
,
this
.
extensionRuntimeService
.
setEnablement
(
extension
.
identifier
,
enable
,
true
)])
.
then
(
values
=>
values
[
0
]
||
values
[
1
]);
}
...
...
@@ -632,7 +632,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
if
(
this
.
newlyInstalled
.
some
(
e
=>
e
.
gallery
&&
extension
.
gallery
&&
e
.
gallery
.
id
===
extension
.
gallery
.
id
))
{
return
ExtensionState
.
Installed
;
}
return
this
.
extension
s
RuntimeService
.
isDisabled
(
extension
.
identifier
)
?
ExtensionState
.
Disabled
:
ExtensionState
.
Enabled
;
return
this
.
extensionRuntimeService
.
isDisabled
(
extension
.
identifier
)
?
ExtensionState
.
Disabled
:
ExtensionState
.
Enabled
;
}
return
ExtensionState
.
Uninstalled
;
...
...
src/vs/workbench/services/extensions/electron-browser/extension
s
.ts
→
src/vs/workbench/services/extensions/electron-browser/extension
RuntimeService
.ts
浏览文件 @
7dbd9689
...
...
@@ -13,7 +13,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import
{
ExtensionScanner
,
MessagesCollector
}
from
'
vs/workbench/node/extensionPoints
'
;
import
{
IExtensionManagementService
,
DidUninstallExtensionEvent
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IWorkspaceContextService
,
IWorkspace
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
IExtension
s
RuntimeService
,
IExtensionDescription
,
IMessage
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IExtensionRuntimeService
,
IExtensionDescription
,
IMessage
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
Severity
,
IMessageService
}
from
'
vs/platform/message/common/message
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
...
...
@@ -24,7 +24,7 @@ const BASE_PATH = paths.normalize(paths.join(DIRNAME, '../../../../../..'));
const
BUILTIN_EXTENSIONS_PATH
=
paths
.
join
(
BASE_PATH
,
'
extensions
'
);
const
DISABLED_EXTENSIONS_STORAGE_PATH
=
'
extensions/disabled
'
;
export
class
Extension
sRuntimeService
implements
IExtensions
RuntimeService
{
export
class
Extension
RuntimeService
implements
IExtension
RuntimeService
{
_serviceBrand
:
any
;
...
...
@@ -47,7 +47,7 @@ export class ExtensionsRuntimeService implements IExtensionsRuntimeService {
extensionManagementService
.
onDidUninstallExtension
(
this
.
onDidUninstallExtension
,
this
,
this
.
disposables
);
}
public
getExtensions
():
TPromise
<
IExtensionDescription
[]
>
{
public
getE
nabledE
xtensions
():
TPromise
<
IExtensionDescription
[]
>
{
if
(
!
this
.
installedExtensions
)
{
this
.
installedExtensions
=
this
.
scanExtensions
();
}
...
...
@@ -73,7 +73,7 @@ export class ExtensionsRuntimeService implements IExtensionsRuntimeService {
return
this
.
getDisabledExtensions
().
indexOf
(
identifier
)
!==
-
1
;
}
public
isDisabled
Always
(
identifier
:
string
):
boolean
{
public
isDisabled
Globally
(
identifier
:
string
):
boolean
{
return
this
.
globalDisabledExtensions
.
indexOf
(
identifier
)
!==
-
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录