Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
3ce04754
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,发现更多精彩内容 >>
提交
3ce04754
编写于
6月 25, 2019
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rename runInBackground to hideFromUser
See #75278
上级
90b3c0ad
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
29 addition
and
16 deletion
+29
-16
extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts
...ns/vscode-api-tests/src/singlefolder-tests/window.test.ts
+4
-4
src/vs/vscode.d.ts
src/vs/vscode.d.ts
+1
-1
src/vs/vscode.proposed.d.ts
src/vs/vscode.proposed.d.ts
+12
-0
src/vs/workbench/api/browser/mainThreadTerminalService.ts
src/vs/workbench/api/browser/mainThreadTerminalService.ts
+2
-2
src/vs/workbench/api/common/extHost.protocol.ts
src/vs/workbench/api/common/extHost.protocol.ts
+1
-1
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+1
-0
src/vs/workbench/api/node/extHostTerminalService.ts
src/vs/workbench/api/node/extHostTerminalService.ts
+3
-3
src/vs/workbench/contrib/terminal/browser/terminalService.ts
src/vs/workbench/contrib/terminal/browser/terminalService.ts
+2
-2
src/vs/workbench/contrib/terminal/common/terminal.ts
src/vs/workbench/contrib/terminal/common/terminal.ts
+1
-1
src/vs/workbench/contrib/terminal/common/terminalService.ts
src/vs/workbench/contrib/terminal/common/terminalService.ts
+2
-2
未找到文件。
extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts
浏览文件 @
3ce04754
...
...
@@ -738,8 +738,8 @@ suite('window namespace tests', () => {
terminal1
.
show
();
});
test
(
'
runInBackground
terminal: onDidWriteData should work
'
,
done
=>
{
const
terminal
=
window
.
createTerminal
({
name
:
'
bg
'
,
runInBackground
:
true
});
test
(
'
hideFromUser
terminal: onDidWriteData should work
'
,
done
=>
{
const
terminal
=
window
.
createTerminal
({
name
:
'
bg
'
,
hideFromUser
:
true
});
let
data
=
''
;
terminal
.
onDidWriteData
(
e
=>
{
data
+=
e
;
...
...
@@ -751,8 +751,8 @@ suite('window namespace tests', () => {
terminal
.
sendText
(
'
foo
'
);
});
test
(
'
runInBackground
terminal: should be available to terminals API
'
,
done
=>
{
const
terminal
=
window
.
createTerminal
({
name
:
'
bg
'
,
runInBackground
:
true
});
test
(
'
hideFromUser
terminal: should be available to terminals API
'
,
done
=>
{
const
terminal
=
window
.
createTerminal
({
name
:
'
bg
'
,
hideFromUser
:
true
});
window
.
onDidOpenTerminal
(
t
=>
{
assert
.
equal
(
t
,
terminal
);
assert
.
equal
(
t
.
name
,
'
bg
'
);
...
...
src/vs/vscode.d.ts
浏览文件 @
3ce04754
...
...
@@ -7042,7 +7042,7 @@ declare module 'vscode' {
* interaction is needed. Note that the terminals will still be exposed to all extensions
* as normal.
*/
runInBackground
?:
boolean
;
hideFromUser
?:
boolean
;
}
/**
...
...
src/vs/vscode.proposed.d.ts
浏览文件 @
3ce04754
...
...
@@ -1121,6 +1121,18 @@ declare module 'vscode' {
readonly
onDidWriteData
:
Event
<
string
>
;
}
export
interface
TerminalOptions
{
/**
* When enabled the terminal will run the process as normal but not be surfaced to the user
* until `Terminal.show` is called. The typical usage for this is when you need to run
* something that may need interactivity but only want to tell the user about it when
* interaction is needed. Note that the terminals will still be exposed to all extensions
* as normal.
*/
runInBackground
?:
boolean
;
}
/**
* Represents the dimensions of a terminal.
*/
...
...
src/vs/workbench/api/browser/mainThreadTerminalService.ts
浏览文件 @
3ce04754
...
...
@@ -74,7 +74,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
// when the extension host process goes down ?
}
public
$createTerminal
(
name
?:
string
,
shellPath
?:
string
,
shellArgs
?:
string
[]
|
string
,
cwd
?:
string
|
UriComponents
,
env
?:
{
[
key
:
string
]:
string
},
waitOnExit
?:
boolean
,
strictEnv
?:
boolean
,
runInBackground
?:
boolean
):
Promise
<
{
id
:
number
,
name
:
string
}
>
{
public
$createTerminal
(
name
?:
string
,
shellPath
?:
string
,
shellArgs
?:
string
[]
|
string
,
cwd
?:
string
|
UriComponents
,
env
?:
{
[
key
:
string
]:
string
},
waitOnExit
?:
boolean
,
strictEnv
?:
boolean
,
hideFromUser
?:
boolean
):
Promise
<
{
id
:
number
,
name
:
string
}
>
{
const
shellLaunchConfig
:
IShellLaunchConfig
=
{
name
,
executable
:
shellPath
,
...
...
@@ -84,7 +84,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
ignoreConfigurationCwd
:
true
,
env
,
strictEnv
,
runInBackground
hideFromUser
};
const
terminal
=
this
.
_terminalService
.
createTerminal
(
shellLaunchConfig
);
return
Promise
.
resolve
({
...
...
src/vs/workbench/api/common/extHost.protocol.ts
浏览文件 @
3ce04754
...
...
@@ -390,7 +390,7 @@ export interface MainThreadProgressShape extends IDisposable {
}
export
interface
MainThreadTerminalServiceShape
extends
IDisposable
{
$createTerminal
(
name
?:
string
,
shellPath
?:
string
,
shellArgs
?:
string
[]
|
string
,
cwd
?:
string
|
UriComponents
,
env
?:
{
[
key
:
string
]:
string
|
null
},
waitOnExit
?:
boolean
,
strictEnv
?:
boolean
,
runInBackground
?:
boolean
):
Promise
<
{
id
:
number
,
name
:
string
}
>
;
$createTerminal
(
name
?:
string
,
shellPath
?:
string
,
shellArgs
?:
string
[]
|
string
,
cwd
?:
string
|
UriComponents
,
env
?:
{
[
key
:
string
]:
string
|
null
},
waitOnExit
?:
boolean
,
strictEnv
?:
boolean
,
hideFromUser
?:
boolean
):
Promise
<
{
id
:
number
,
name
:
string
}
>
;
$createTerminalRenderer
(
name
:
string
):
Promise
<
number
>
;
$dispose
(
terminalId
:
number
):
void
;
$hide
(
terminalId
:
number
):
void
;
...
...
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
3ce04754
...
...
@@ -524,6 +524,7 @@ export function createApiFactory(
},
createTerminal
(
nameOrOptions
?:
vscode
.
TerminalOptions
|
string
,
shellPath
?:
string
,
shellArgs
?:
string
[]
|
string
):
vscode
.
Terminal
{
if
(
typeof
nameOrOptions
===
'
object
'
)
{
nameOrOptions
.
hideFromUser
=
nameOrOptions
.
hideFromUser
||
(
nameOrOptions
.
runInBackground
&&
extension
.
enableProposedApi
);
return
extHostTerminalService
.
createTerminalFromOptions
(
nameOrOptions
);
}
return
extHostTerminalService
.
createTerminal
(
<
string
>
nameOrOptions
,
shellPath
,
shellArgs
);
...
...
src/vs/workbench/api/node/extHostTerminalService.ts
浏览文件 @
3ce04754
...
...
@@ -115,9 +115,9 @@ export class ExtHostTerminal extends BaseExtHostTerminal implements vscode.Termi
env
?:
{
[
key
:
string
]:
string
|
null
},
waitOnExit
?:
boolean
,
strictEnv
?:
boolean
,
runInBackground
?:
boolean
hideFromUser
?:
boolean
):
void
{
this
.
_proxy
.
$createTerminal
(
this
.
_name
,
shellPath
,
shellArgs
,
cwd
,
env
,
waitOnExit
,
strictEnv
,
runInBackground
).
then
(
terminal
=>
{
this
.
_proxy
.
$createTerminal
(
this
.
_name
,
shellPath
,
shellArgs
,
cwd
,
env
,
waitOnExit
,
strictEnv
,
hideFromUser
).
then
(
terminal
=>
{
this
.
_name
=
terminal
.
name
;
this
.
_runQueuedRequests
(
terminal
.
id
);
});
...
...
@@ -312,7 +312,7 @@ export class ExtHostTerminalService implements ExtHostTerminalServiceShape {
public
createTerminalFromOptions
(
options
:
vscode
.
TerminalOptions
):
vscode
.
Terminal
{
const
terminal
=
new
ExtHostTerminal
(
this
.
_proxy
,
options
.
name
);
terminal
.
create
(
options
.
shellPath
,
options
.
shellArgs
,
options
.
cwd
,
options
.
env
,
/*options.waitOnExit*/
undefined
,
options
.
strictEnv
,
options
.
runInBackground
);
terminal
.
create
(
options
.
shellPath
,
options
.
shellArgs
,
options
.
cwd
,
options
.
env
,
/*options.waitOnExit*/
undefined
,
options
.
strictEnv
,
options
.
hideFromUser
);
this
.
_terminals
.
push
(
terminal
);
return
terminal
;
}
...
...
src/vs/workbench/contrib/terminal/browser/terminalService.ts
浏览文件 @
3ce04754
...
...
@@ -56,7 +56,7 @@ export class TerminalService extends CommonTerminalService implements ITerminalS
}
public
createTerminal
(
shell
:
IShellLaunchConfig
=
{}):
ITerminalInstance
{
if
(
shell
.
runInBackground
)
{
if
(
shell
.
hideFromUser
)
{
const
instance
=
this
.
createInstance
(
this
.
_terminalFocusContextKey
,
this
.
configHelper
,
undefined
,
...
...
@@ -86,7 +86,7 @@ export class TerminalService extends CommonTerminalService implements ITerminalS
protected
_showBackgroundTerminal
(
instance
:
ITerminalInstance
):
void
{
this
.
_backgroundedTerminalInstances
.
splice
(
this
.
_backgroundedTerminalInstances
.
indexOf
(
instance
),
1
);
instance
.
shellLaunchConfig
.
runInBackground
=
false
;
instance
.
shellLaunchConfig
.
hideFromUser
=
false
;
const
terminalTab
=
this
.
_instantiationService
.
createInstance
(
TerminalTab
,
this
.
_terminalFocusContextKey
,
this
.
configHelper
,
...
...
src/vs/workbench/contrib/terminal/common/terminal.ts
浏览文件 @
3ce04754
...
...
@@ -204,7 +204,7 @@ export interface IShellLaunchConfig {
* interaction is needed. Note that the terminals will still be exposed to all extensions
* as normal.
*/
runInBackground
?:
boolean
;
hideFromUser
?:
boolean
;
}
export
interface
ITerminalService
{
...
...
src/vs/workbench/contrib/terminal/common/terminalService.ts
浏览文件 @
3ce04754
...
...
@@ -282,9 +282,9 @@ export abstract class TerminalService implements ITerminalService {
}
public
setActiveInstance
(
terminalInstance
:
ITerminalInstance
):
void
{
// If this was a
runInBackground
terminal created by the API this was triggered by show,
// If this was a
hideFromUser
terminal created by the API this was triggered by show,
// in which case we need to create the terminal tab
if
(
terminalInstance
.
shellLaunchConfig
.
runInBackground
)
{
if
(
terminalInstance
.
shellLaunchConfig
.
hideFromUser
)
{
this
.
_showBackgroundTerminal
(
terminalInstance
);
}
this
.
setActiveInstanceByIndex
(
this
.
_getIndexFromId
(
terminalInstance
.
id
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录