Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
c2fcb64f
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,发现更多精彩内容 >>
提交
c2fcb64f
编写于
4月 13, 2018
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move processId over
上级
87f50658
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
6 deletion
+8
-6
src/vs/workbench/parts/terminal/common/terminal.ts
src/vs/workbench/parts/terminal/common/terminal.ts
+1
-0
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
...bench/parts/terminal/electron-browser/terminalInstance.ts
+6
-5
src/vs/workbench/parts/terminal/electron-browser/terminalProcessManager.ts
...parts/terminal/electron-browser/terminalProcessManager.ts
+1
-1
未找到文件。
src/vs/workbench/parts/terminal/common/terminal.ts
浏览文件 @
c2fcb64f
...
...
@@ -462,6 +462,7 @@ export interface ITerminalProcessManager extends IDisposable {
process
:
any
;
processState
:
ProcessState
;
ptyProcessReady
:
TPromise
<
void
>
;
shellProcessId
:
number
;
addDisposable
(
disposable
:
IDisposable
);
}
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
浏览文件 @
c2fcb64f
...
...
@@ -86,7 +86,7 @@ export class TerminalInstance implements ITerminalInstance {
private
readonly
_onProcessIdReady
:
Emitter
<
ITerminalInstance
>
;
private
readonly
_onTitleChanged
:
Emitter
<
string
>
;
// private _process: cp.ChildProcess;
private
_processId
:
number
;
//
private _processId: number;
private
_skipTerminalCommands
:
string
[];
private
_title
:
string
;
// TODO: Rename to "_disposables"
...
...
@@ -112,7 +112,8 @@ export class TerminalInstance implements ITerminalInstance {
public
disableLayout
:
boolean
;
public
get
id
():
number
{
return
this
.
_id
;
}
// TODO: Ideally processId would be merged into processReady
public
get
processId
():
number
{
return
this
.
_processId
;
}
public
get
processId
():
number
{
return
this
.
_processManager
.
shellProcessId
;
}
// TODO: Should this be an event as it can fire twice?
public
get
processReady
():
TPromise
<
void
>
{
return
this
.
_processManager
.
ptyProcessReady
;
}
public
get
onDisposed
():
Event
<
ITerminalInstance
>
{
return
this
.
_onDisposed
.
event
;
}
public
get
onFocused
():
Event
<
ITerminalInstance
>
{
return
this
.
_onFocused
.
event
;
}
...
...
@@ -169,7 +170,7 @@ export class TerminalInstance implements ITerminalInstance {
if
(
platform
.
isWindows
)
{
this
.
_processManager
.
ptyProcessReady
.
then
(()
=>
{
if
(
!
this
.
_isDisposed
)
{
this
.
_windowsShellHelper
=
new
WindowsShellHelper
(
this
.
_processId
,
this
,
this
.
_xterm
);
this
.
_windowsShellHelper
=
new
WindowsShellHelper
(
this
.
_process
Manager
.
shellProcess
Id
,
this
,
this
.
_xterm
);
}
});
}
...
...
@@ -314,7 +315,7 @@ export class TerminalInstance implements ITerminalInstance {
this
.
_xterm
.
on
(
'
linefeed
'
,
()
=>
this
.
_onLineFeed
());
this
.
_processManager
.
process
.
on
(
'
message
'
,
(
message
)
=>
this
.
_sendPtyDataToXterm
(
message
));
this
.
_xterm
.
on
(
'
data
'
,
(
data
)
=>
{
if
(
this
.
_processId
)
{
if
(
this
.
_process
Manager
.
shellProcess
Id
)
{
// Send data if the pty is ready
this
.
_processManager
.
process
.
send
({
event
:
'
input
'
,
...
...
@@ -730,7 +731,7 @@ export class TerminalInstance implements ITerminalInstance {
}
this
.
_processManager
.
process
.
on
(
'
message
'
,
(
message
)
=>
{
if
(
message
.
type
===
'
pid
'
)
{
this
.
_processId
=
message
.
content
;
this
.
_process
Manager
.
shellProcess
Id
=
message
.
content
;
// Send any queued data that's waiting
if
(
this
.
_preLaunchInputQueue
.
length
>
0
)
{
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalProcessManager.ts
浏览文件 @
c2fcb64f
...
...
@@ -22,7 +22,7 @@ export class TerminalProcessManager implements ITerminalProcessManager {
public
process
:
ChildProcess
;
public
ptyProcessReady
:
TPromise
<
void
>
;
// private _
shellProcessId: number;
public
shellProcessId
:
number
;
private
_disposables
:
IDisposable
[]
=
[];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录