Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
c5718c61
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,发现更多精彩内容 >>
提交
c5718c61
编写于
11月 13, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove logic to show an exthost-unresponsive message to the user, #60332
上级
6f594d08
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
62 deletion
+2
-62
src/vs/workbench/services/extensions/electron-browser/extensionService.ts
.../services/extensions/electron-browser/extensionService.ts
+2
-62
未找到文件。
src/vs/workbench/services/extensions/electron-browser/extensionService.ts
浏览文件 @
c5718c61
...
...
@@ -29,18 +29,16 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import
{
ILifecycleService
,
LifecyclePhase
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
pkg
from
'
vs/platform/node/package
'
;
import
product
from
'
vs/platform/node/product
'
;
import
{
INotification
Handle
,
INotification
Service
,
Severity
}
from
'
vs/platform/notification/common/notification
'
;
import
{
INotificationService
,
Severity
}
from
'
vs/platform/notification/common/notification
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IWindowService
,
IWindowsService
}
from
'
vs/platform/windows/common/windows
'
;
import
{
ExtHostCustomersRegistry
}
from
'
vs/workbench/api/electron-browser/extHostCustomers
'
;
import
{
ExtHostContext
,
ExtHostExtensionServiceShape
,
IExtHostContext
,
MainContext
}
from
'
vs/workbench/api/node/extHost.protocol
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
ActivationTimes
,
ExtensionPointContribution
,
IExtensionDescription
,
IExtensionService
,
IExtensionsStatus
,
IMessage
,
ProfileSession
,
IWillActivateEvent
,
IResponsiveStateChangeEvent
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
import
{
ExtensionMessageCollector
,
ExtensionPoint
,
ExtensionsRegistry
,
IExtensionPoint
,
IExtensionPointUser
,
schema
}
from
'
vs/workbench/services/extensions/common/extensionsRegistry
'
;
import
{
ExtensionHostProcessWorker
,
IExtensionHostStarter
}
from
'
vs/workbench/services/extensions/electron-browser/extensionHost
'
;
import
{
ExtensionHostProfiler
}
from
'
vs/workbench/services/extensions/electron-browser/extensionHostProfiler
'
;
import
{
RuntimeExtensionsInput
}
from
'
vs/workbench/services/extensions/electron-browser/runtimeExtensionsInput
'
;
import
{
ExtensionDescriptionRegistry
}
from
'
vs/workbench/services/extensions/node/extensionDescriptionRegistry
'
;
import
{
ExtensionScanner
,
ExtensionScannerInput
,
IExtensionReference
,
IExtensionResolver
,
ILog
,
IRelaxedExtensionDescription
,
Translations
}
from
'
vs/workbench/services/extensions/node/extensionPoints
'
;
import
{
ProxyIdentifier
}
from
'
vs/workbench/services/extensions/node/proxyIdentifier
'
;
...
...
@@ -284,8 +282,6 @@ export class ExtensionService extends Disposable implements IExtensionService {
private
readonly
_onDidChangeResponsiveChange
=
new
Emitter
<
IResponsiveStateChangeEvent
>
();
readonly
onDidChangeResponsiveChange
:
Event
<
IResponsiveStateChangeEvent
>
=
this
.
_onDidChangeResponsiveChange
.
event
;
private
_unresponsiveNotificationHandle
:
INotificationHandle
;
// --- Members used per extension host process
private
_extensionHostProcessManagers
:
ExtensionHostProcessManager
[];
private
_extensionHostProcessActivationTimes
:
{
[
id
:
string
]:
ActivationTimes
;
};
...
...
@@ -312,8 +308,6 @@ export class ExtensionService extends Disposable implements IExtensionService {
this
.
_onDidRegisterExtensions
=
new
Emitter
<
void
>
();
this
.
_unresponsiveNotificationHandle
=
null
;
this
.
_extensionHostProcessManagers
=
[];
this
.
_extensionHostProcessActivationTimes
=
Object
.
create
(
null
);
this
.
_extensionHostExtensionRuntimeErrors
=
Object
.
create
(
null
);
...
...
@@ -392,7 +386,7 @@ export class ExtensionService extends Disposable implements IExtensionService {
const
extHostProcessWorker
=
this
.
_instantiationService
.
createInstance
(
ExtensionHostProcessWorker
,
this
.
getExtensions
(),
this
.
_extensionHostLogsLocation
);
const
extHostProcessManager
=
this
.
_instantiationService
.
createInstance
(
ExtensionHostProcessManager
,
extHostProcessWorker
,
null
,
initialActivationEvents
);
extHostProcessManager
.
onDidCrash
(([
code
,
signal
])
=>
this
.
_onExtensionHostCrashed
(
code
,
signal
));
extHostProcessManager
.
onDidChangeResponsiveState
((
responsiveState
)
=>
this
.
_onResponsiveStateChanged
(
responsiveState
,
extHostProcessManager
)
);
extHostProcessManager
.
onDidChangeResponsiveState
((
responsiveState
)
=>
{
this
.
_onDidChangeResponsiveChange
.
fire
({
target
:
extHostProcessManager
,
isResponsive
:
responsiveState
===
ResponsiveState
.
Responsive
});
}
);
this
.
_extensionHostProcessManagers
.
push
(
extHostProcessManager
);
}
...
...
@@ -434,60 +428,6 @@ export class ExtensionService extends Disposable implements IExtensionService {
);
}
private
_onResponsiveStateChanged
(
state
:
ResponsiveState
,
manager
:
ExtensionHostProcessManager
):
void
{
// fire an event when an extension host is changing its state.
this
.
_onDidChangeResponsiveChange
.
fire
({
target
:
manager
,
isResponsive
:
state
===
ResponsiveState
.
Responsive
});
// Do not show the notification anymore
// See https://github.com/Microsoft/vscode/issues/60318
const
DISABLE_PROMPT
=
true
;
if
(
this
.
_isDev
||
DISABLE_PROMPT
)
{
return
;
// do not show any notification when developing an extension (https://github.com/Microsoft/vscode/issues/59251)
}
if
(
this
.
_unresponsiveNotificationHandle
)
{
this
.
_unresponsiveNotificationHandle
.
close
();
this
.
_unresponsiveNotificationHandle
=
null
;
}
const
showRunningExtensions
=
{
keepOpen
:
true
,
label
:
nls
.
localize
(
'
extensionHostProcess.unresponsive.inspect
'
,
"
Show running extensions
"
),
run
:
()
=>
{
this
.
_instantiationService
.
invokeFunction
((
accessor
)
=>
{
const
editorService
=
accessor
.
get
(
IEditorService
);
editorService
.
openEditor
(
this
.
_instantiationService
.
createInstance
(
RuntimeExtensionsInput
),
{
revealIfOpened
:
true
});
});
}
};
const
restartExtensionHost
=
{
label
:
nls
.
localize
(
'
extensionHostProcess.unresponsive.restart
'
,
"
Restart Extension Host
"
),
run
:
()
=>
{
this
.
restartExtensionHost
();
}
};
if
(
state
===
ResponsiveState
.
Unresponsive
)
{
this
.
_unresponsiveNotificationHandle
=
this
.
_notificationService
.
prompt
(
Severity
.
Warning
,
nls
.
localize
(
'
extensionHostProcess.unresponsive
'
,
"
Extension Host is unresponsive.
"
),
[
showRunningExtensions
,
restartExtensionHost
]
);
}
else
{
this
.
_unresponsiveNotificationHandle
=
this
.
_notificationService
.
prompt
(
Severity
.
Info
,
nls
.
localize
(
'
extensionHostProcess.responsive
'
,
"
Extension Host is now responsive.
"
),
[
showRunningExtensions
]
);
}
}
// ---- begin IExtensionService
public
activateByEvent
(
activationEvent
:
string
):
Promise
<
void
>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录