Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
e6254db3
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,发现更多精彩内容 >>
提交
e6254db3
编写于
12月 13, 2018
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Recreate pid promise when reusing terminals
上级
461bf720
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
14 addition
and
31 deletion
+14
-31
src/vs/workbench/api/electron-browser/mainThreadTerminalService.ts
...rkbench/api/electron-browser/mainThreadTerminalService.ts
+0
-5
src/vs/workbench/api/node/extHost.protocol.ts
src/vs/workbench/api/node/extHost.protocol.ts
+0
-1
src/vs/workbench/api/node/extHostTerminalService.ts
src/vs/workbench/api/node/extHostTerminalService.ts
+14
-15
src/vs/workbench/parts/terminal/common/terminal.ts
src/vs/workbench/parts/terminal/common/terminal.ts
+0
-3
src/vs/workbench/parts/terminal/common/terminalService.ts
src/vs/workbench/parts/terminal/common/terminalService.ts
+0
-3
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
...bench/parts/terminal/electron-browser/terminalInstance.ts
+0
-4
未找到文件。
src/vs/workbench/api/electron-browser/mainThreadTerminalService.ts
浏览文件 @
e6254db3
...
@@ -36,7 +36,6 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
...
@@ -36,7 +36,6 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
this
.
_toDispose
.
push
(
terminalService
.
onInstanceRequestExtHostProcess
(
request
=>
this
.
_onTerminalRequestExtHostProcess
(
request
)));
this
.
_toDispose
.
push
(
terminalService
.
onInstanceRequestExtHostProcess
(
request
=>
this
.
_onTerminalRequestExtHostProcess
(
request
)));
this
.
_toDispose
.
push
(
terminalService
.
onActiveInstanceChanged
(
instance
=>
this
.
_onActiveTerminalChanged
(
instance
?
instance
.
id
:
undefined
)));
this
.
_toDispose
.
push
(
terminalService
.
onActiveInstanceChanged
(
instance
=>
this
.
_onActiveTerminalChanged
(
instance
?
instance
.
id
:
undefined
)));
this
.
_toDispose
.
push
(
terminalService
.
onInstanceTitleChanged
(
instance
=>
this
.
_onTitleChanged
(
instance
.
id
,
instance
.
title
)));
this
.
_toDispose
.
push
(
terminalService
.
onInstanceTitleChanged
(
instance
=>
this
.
_onTitleChanged
(
instance
.
id
,
instance
.
title
)));
this
.
_toDispose
.
push
(
terminalService
.
onInstanceProcessLaunching
(
instance
=>
this
.
_onProcessLaunching
(
instance
.
id
)));
// Set initial ext host state
// Set initial ext host state
this
.
terminalService
.
terminalInstances
.
forEach
(
t
=>
{
this
.
terminalService
.
terminalInstances
.
forEach
(
t
=>
{
...
@@ -173,10 +172,6 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
...
@@ -173,10 +172,6 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
this
.
_proxy
.
$acceptTerminalTitleChange
(
terminalId
,
name
);
this
.
_proxy
.
$acceptTerminalTitleChange
(
terminalId
,
name
);
}
}
private
_onProcessLaunching
(
terminalId
:
number
):
void
{
this
.
_proxy
.
$acceptTerminalProcessLaunching
(
terminalId
);
}
private
_onTerminalRendererInput
(
terminalId
:
number
,
data
:
string
):
void
{
private
_onTerminalRendererInput
(
terminalId
:
number
,
data
:
string
):
void
{
this
.
_proxy
.
$acceptTerminalRendererInput
(
terminalId
,
data
);
this
.
_proxy
.
$acceptTerminalRendererInput
(
terminalId
,
data
);
}
}
...
...
src/vs/workbench/api/node/extHost.protocol.ts
浏览文件 @
e6254db3
...
@@ -915,7 +915,6 @@ export interface ExtHostTerminalServiceShape {
...
@@ -915,7 +915,6 @@ export interface ExtHostTerminalServiceShape {
$acceptTerminalProcessId
(
id
:
number
,
processId
:
number
):
void
;
$acceptTerminalProcessId
(
id
:
number
,
processId
:
number
):
void
;
$acceptTerminalProcessData
(
id
:
number
,
data
:
string
):
void
;
$acceptTerminalProcessData
(
id
:
number
,
data
:
string
):
void
;
$acceptTerminalRendererInput
(
id
:
number
,
data
:
string
):
void
;
$acceptTerminalRendererInput
(
id
:
number
,
data
:
string
):
void
;
$acceptTerminalProcessLaunching
(
id
:
number
):
void
;
$acceptTerminalTitleChange
(
id
:
number
,
name
:
string
):
void
;
$acceptTerminalTitleChange
(
id
:
number
,
name
:
string
):
void
;
$acceptTerminalRendererDimensions
(
id
:
number
,
cols
:
number
,
rows
:
number
):
void
;
$acceptTerminalRendererDimensions
(
id
:
number
,
cols
:
number
,
rows
:
number
):
void
;
$createProcess
(
id
:
number
,
shellLaunchConfig
:
ShellLaunchConfigDto
,
activeWorkspaceRootUri
:
URI
,
cols
:
number
,
rows
:
number
):
void
;
$createProcess
(
id
:
number
,
shellLaunchConfig
:
ShellLaunchConfigDto
,
activeWorkspaceRootUri
:
URI
,
cols
:
number
,
rows
:
number
):
void
;
...
...
src/vs/workbench/api/node/extHostTerminalService.ts
浏览文件 @
e6254db3
...
@@ -90,7 +90,13 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi
...
@@ -90,7 +90,13 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi
pid
?:
number
pid
?:
number
)
{
)
{
super
(
proxy
,
id
);
super
(
proxy
,
id
);
this
.
_createProcessIdPromise
(
pid
);
this
.
_pidPromise
=
new
Promise
<
number
>
(
c
=>
{
if
(
pid
===
RENDERER_NO_PROCESS_ID
)
{
c
(
undefined
);
}
else
{
this
.
_pidPromiseComplete
=
c
;
}
});
}
}
public
create
(
public
create
(
...
@@ -133,21 +139,18 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi
...
@@ -133,21 +139,18 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi
this
.
_queueApiRequest
(
this
.
_proxy
.
$hide
,
[]);
this
.
_queueApiRequest
(
this
.
_proxy
.
$hide
,
[]);
}
}
public
_createProcessIdPromise
(
pid
?:
number
):
void
{
this
.
_pidPromise
=
new
Promise
<
number
>
(
c
=>
{
if
(
pid
===
RENDERER_NO_PROCESS_ID
)
{
c
(
undefined
);
}
else
{
this
.
_pidPromiseComplete
=
c
;
}
});
}
public
_setProcessId
(
processId
:
number
):
void
{
public
_setProcessId
(
processId
:
number
):
void
{
// The event may fire 2 times when the panel is restored
// The event may fire 2 times when the panel is restored
if
(
this
.
_pidPromiseComplete
)
{
if
(
this
.
_pidPromiseComplete
)
{
this
.
_pidPromiseComplete
(
processId
);
this
.
_pidPromiseComplete
(
processId
);
this
.
_pidPromiseComplete
=
null
;
this
.
_pidPromiseComplete
=
null
;
}
else
{
// Recreate the promise if this is the nth processId set (eg. reused task terminals)
this
.
_pidPromise
.
then
(
pid
=>
{
if
(
pid
!==
processId
)
{
this
.
_pidPromise
=
Promise
.
resolve
(
processId
);
}
});
}
}
}
}
...
@@ -355,10 +358,6 @@ export class ExtHostTerminalService implements ExtHostTerminalServiceShape {
...
@@ -355,10 +358,6 @@ export class ExtHostTerminalService implements ExtHostTerminalServiceShape {
this
.
_performTerminalIdAction
(
id
,
terminal
=>
terminal
.
_setProcessId
(
processId
));
this
.
_performTerminalIdAction
(
id
,
terminal
=>
terminal
.
_setProcessId
(
processId
));
}
}
public
$acceptTerminalProcessLaunching
(
id
:
number
):
void
{
this
.
_performTerminalIdAction
(
id
,
terminal
=>
terminal
.
_createProcessIdPromise
());
}
private
_performTerminalIdAction
(
id
:
number
,
callback
:
(
terminal
:
ExtHostTerminal
)
=>
void
):
void
{
private
_performTerminalIdAction
(
id
:
number
,
callback
:
(
terminal
:
ExtHostTerminal
)
=>
void
):
void
{
let
terminal
=
this
.
_getTerminalById
(
id
);
let
terminal
=
this
.
_getTerminalById
(
id
);
if
(
terminal
)
{
if
(
terminal
)
{
...
...
src/vs/workbench/parts/terminal/common/terminal.ts
浏览文件 @
e6254db3
...
@@ -187,7 +187,6 @@ export interface ITerminalService {
...
@@ -187,7 +187,6 @@ export interface ITerminalService {
onTabDisposed
:
Event
<
ITerminalTab
>
;
onTabDisposed
:
Event
<
ITerminalTab
>
;
onInstanceCreated
:
Event
<
ITerminalInstance
>
;
onInstanceCreated
:
Event
<
ITerminalInstance
>
;
onInstanceDisposed
:
Event
<
ITerminalInstance
>
;
onInstanceDisposed
:
Event
<
ITerminalInstance
>
;
onInstanceProcessLaunching
:
Event
<
ITerminalInstance
>
;
onInstanceProcessIdReady
:
Event
<
ITerminalInstance
>
;
onInstanceProcessIdReady
:
Event
<
ITerminalInstance
>
;
onInstanceDimensionsChanged
:
Event
<
ITerminalInstance
>
;
onInstanceDimensionsChanged
:
Event
<
ITerminalInstance
>
;
onInstanceRequestExtHostProcess
:
Event
<
ITerminalProcessExtHostRequest
>
;
onInstanceRequestExtHostProcess
:
Event
<
ITerminalProcessExtHostRequest
>
;
...
@@ -323,8 +322,6 @@ export interface ITerminalInstance {
...
@@ -323,8 +322,6 @@ export interface ITerminalInstance {
onFocused
:
Event
<
ITerminalInstance
>
;
onFocused
:
Event
<
ITerminalInstance
>
;
onProcessLaunching
:
Event
<
ITerminalInstance
>
;
onProcessIdReady
:
Event
<
ITerminalInstance
>
;
onProcessIdReady
:
Event
<
ITerminalInstance
>
;
onRequestExtHostProcess
:
Event
<
ITerminalInstance
>
;
onRequestExtHostProcess
:
Event
<
ITerminalInstance
>
;
...
...
src/vs/workbench/parts/terminal/common/terminalService.ts
浏览文件 @
e6254db3
...
@@ -46,8 +46,6 @@ export abstract class TerminalService implements ITerminalService {
...
@@ -46,8 +46,6 @@ export abstract class TerminalService implements ITerminalService {
public
get
onInstancesChanged
():
Event
<
void
>
{
return
this
.
_onInstancesChanged
.
event
;
}
public
get
onInstancesChanged
():
Event
<
void
>
{
return
this
.
_onInstancesChanged
.
event
;
}
protected
readonly
_onInstanceTitleChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
protected
readonly
_onInstanceTitleChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
public
get
onInstanceTitleChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onInstanceTitleChanged
.
event
;
}
public
get
onInstanceTitleChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onInstanceTitleChanged
.
event
;
}
protected
readonly
_onInstanceProcessLaunching
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
public
get
onInstanceProcessLaunching
():
Event
<
ITerminalInstance
>
{
return
this
.
_onInstanceProcessLaunching
.
event
;
}
protected
readonly
_onActiveInstanceChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
protected
readonly
_onActiveInstanceChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
public
get
onActiveInstanceChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onActiveInstanceChanged
.
event
;
}
public
get
onActiveInstanceChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onActiveInstanceChanged
.
event
;
}
protected
readonly
_onTabDisposed
:
Emitter
<
ITerminalTab
>
=
new
Emitter
<
ITerminalTab
>
();
protected
readonly
_onTabDisposed
:
Emitter
<
ITerminalTab
>
=
new
Emitter
<
ITerminalTab
>
();
...
@@ -288,7 +286,6 @@ export abstract class TerminalService implements ITerminalService {
...
@@ -288,7 +286,6 @@ export abstract class TerminalService implements ITerminalService {
instance
.
addDisposable
(
instance
.
onTitleChanged
(
this
.
_onInstanceTitleChanged
.
fire
,
this
.
_onInstanceTitleChanged
));
instance
.
addDisposable
(
instance
.
onTitleChanged
(
this
.
_onInstanceTitleChanged
.
fire
,
this
.
_onInstanceTitleChanged
));
instance
.
addDisposable
(
instance
.
onProcessIdReady
(
this
.
_onInstanceProcessIdReady
.
fire
,
this
.
_onInstanceProcessIdReady
));
instance
.
addDisposable
(
instance
.
onProcessIdReady
(
this
.
_onInstanceProcessIdReady
.
fire
,
this
.
_onInstanceProcessIdReady
));
instance
.
addDisposable
(
instance
.
onDimensionsChanged
(()
=>
this
.
_onInstanceDimensionsChanged
.
fire
(
instance
)));
instance
.
addDisposable
(
instance
.
onDimensionsChanged
(()
=>
this
.
_onInstanceDimensionsChanged
.
fire
(
instance
)));
instance
.
addDisposable
(
instance
.
onProcessLaunching
(()
=>
this
.
_onInstanceProcessLaunching
.
fire
(
instance
)));
instance
.
addDisposable
(
instance
.
onFocus
(
this
.
_onActiveInstanceChanged
.
fire
,
this
.
_onActiveInstanceChanged
));
instance
.
addDisposable
(
instance
.
onFocus
(
this
.
_onActiveInstanceChanged
.
fire
,
this
.
_onActiveInstanceChanged
));
}
}
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
浏览文件 @
e6254db3
...
@@ -104,8 +104,6 @@ export class TerminalInstance implements ITerminalInstance {
...
@@ -104,8 +104,6 @@ export class TerminalInstance implements ITerminalInstance {
public
get
onProcessIdReady
():
Event
<
ITerminalInstance
>
{
return
this
.
_onProcessIdReady
.
event
;
}
public
get
onProcessIdReady
():
Event
<
ITerminalInstance
>
{
return
this
.
_onProcessIdReady
.
event
;
}
private
readonly
_onTitleChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
private
readonly
_onTitleChanged
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
public
get
onTitleChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onTitleChanged
.
event
;
}
public
get
onTitleChanged
():
Event
<
ITerminalInstance
>
{
return
this
.
_onTitleChanged
.
event
;
}
private
readonly
_onProcessLaunching
:
Emitter
<
ITerminalInstance
>
=
new
Emitter
<
ITerminalInstance
>
();
public
get
onProcessLaunching
():
Event
<
ITerminalInstance
>
{
return
this
.
_onProcessLaunching
.
event
;
}
private
readonly
_onData
:
Emitter
<
string
>
=
new
Emitter
<
string
>
();
private
readonly
_onData
:
Emitter
<
string
>
=
new
Emitter
<
string
>
();
public
get
onData
():
Event
<
string
>
{
return
this
.
_onData
.
event
;
}
public
get
onData
():
Event
<
string
>
{
return
this
.
_onData
.
event
;
}
private
readonly
_onLineData
:
Emitter
<
string
>
=
new
Emitter
<
string
>
();
private
readonly
_onLineData
:
Emitter
<
string
>
=
new
Emitter
<
string
>
();
...
@@ -786,8 +784,6 @@ export class TerminalInstance implements ITerminalInstance {
...
@@ -786,8 +784,6 @@ export class TerminalInstance implements ITerminalInstance {
this
.
_processManager
.
onProcessExit
(
exitCode
=>
this
.
_onProcessExit
(
exitCode
));
this
.
_processManager
.
onProcessExit
(
exitCode
=>
this
.
_onProcessExit
(
exitCode
));
this
.
_processManager
.
onProcessData
(
data
=>
this
.
_onData
.
fire
(
data
));
this
.
_processManager
.
onProcessData
(
data
=>
this
.
_onData
.
fire
(
data
));
this
.
_onProcessLaunching
.
fire
(
this
);
if
(
this
.
_shellLaunchConfig
.
name
)
{
if
(
this
.
_shellLaunchConfig
.
name
)
{
this
.
setTitle
(
this
.
_shellLaunchConfig
.
name
,
false
);
this
.
setTitle
(
this
.
_shellLaunchConfig
.
name
,
false
);
}
else
{
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录