Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
8911a6a6
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,发现更多精彩内容 >>
提交
8911a6a6
编写于
9月 25, 2016
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add terminal commands to scroll page up/down
Fixes #12572
上级
bdecf23c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
75 addition
and
18 deletion
+75
-18
src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts
.../parts/terminal/electron-browser/terminal.contribution.ts
+11
-3
src/vs/workbench/parts/terminal/electron-browser/terminal.ts
src/vs/workbench/parts/terminal/electron-browser/terminal.ts
+8
-9
src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts
...kbench/parts/terminal/electron-browser/terminalActions.ts
+46
-4
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
...bench/parts/terminal/electron-browser/terminalInstance.ts
+10
-2
未找到文件。
src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts
浏览文件 @
8911a6a6
...
...
@@ -14,7 +14,7 @@ import { GlobalQuickOpenAction } from 'vs/workbench/browser/parts/quickopen/quic
import
{
ITerminalService
,
KEYBINDING_CONTEXT_TERMINAL_FOCUS
,
TERMINAL_PANEL_ID
,
TERMINAL_DEFAULT_SHELL_LINUX
,
TERMINAL_DEFAULT_SHELL_OSX
,
TERMINAL_DEFAULT_SHELL_WINDOWS
}
from
'
vs/workbench/parts/terminal/electron-browser/terminal
'
;
import
{
IWorkbenchActionRegistry
,
Extensions
as
ActionExtensions
}
from
'
vs/workbench/common/actionRegistry
'
;
import
{
KeyCode
,
KeyMod
}
from
'
vs/base/common/keyCodes
'
;
import
{
KillTerminalAction
,
CopyTerminalSelectionAction
,
CreateNewTerminalAction
,
FocusTerminalAction
,
FocusNextTerminalAction
,
FocusPreviousTerminalAction
,
RunSelectedTextInTerminalAction
,
ScrollDownTerminalAction
,
Scroll
Up
TerminalAction
,
TerminalPasteAction
,
ToggleTerminalAction
,
ClearTerminalAction
}
from
'
vs/workbench/parts/terminal/electron-browser/terminalActions
'
;
import
{
KillTerminalAction
,
CopyTerminalSelectionAction
,
CreateNewTerminalAction
,
FocusTerminalAction
,
FocusNextTerminalAction
,
FocusPreviousTerminalAction
,
RunSelectedTextInTerminalAction
,
ScrollDownTerminalAction
,
Scroll
DownPageTerminalAction
,
ScrollUpTerminalAction
,
ScrollUpPage
TerminalAction
,
TerminalPasteAction
,
ToggleTerminalAction
,
ClearTerminalAction
}
from
'
vs/workbench/parts/terminal/electron-browser/terminalActions
'
;
import
{
Registry
}
from
'
vs/platform/platform
'
;
import
{
ShowAllCommandsAction
}
from
'
vs/workbench/parts/quickopen/browser/commandsHandler
'
;
import
{
SyncActionDescriptor
}
from
'
vs/platform/actions/common/actions
'
;
...
...
@@ -109,7 +109,9 @@ configurationRegistry.registerConfiguration({
RunSelectedTextInTerminalAction
.
ID
,
ToggleTerminalAction
.
ID
,
ScrollDownTerminalAction
.
ID
,
ScrollDownPageTerminalAction
.
ID
,
ScrollUpTerminalAction
.
ID
,
ScrollUpPageTerminalAction
.
ID
,
ClearTerminalAction
.
ID
].
sort
()
}
...
...
@@ -155,9 +157,15 @@ actionRegistry.registerWorkbenchAction(new SyncActionDescriptor(ToggleTerminalAc
actionRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
ScrollDownTerminalAction
,
ScrollDownTerminalAction
.
ID
,
ScrollDownTerminalAction
.
LABEL
,
{
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
DownArrow
,
linux
:
{
primary
:
KeyMod
.
CtrlCmd
|
KeyMod
.
Shift
|
KeyCode
.
DownArrow
}
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Down
'
,
category
);
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Down (Line)
'
,
category
);
actionRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
ScrollDownPageTerminalAction
,
ScrollDownPageTerminalAction
.
ID
,
ScrollDownPageTerminalAction
.
LABEL
,
{
primary
:
KeyMod
.
Shift
|
KeyCode
.
PageDown
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Down (Page)
'
,
category
);
actionRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
ScrollUpTerminalAction
,
ScrollUpTerminalAction
.
ID
,
ScrollUpTerminalAction
.
LABEL
,
{
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
UpArrow
,
linux
:
{
primary
:
KeyMod
.
CtrlCmd
|
KeyMod
.
Shift
|
KeyCode
.
UpArrow
},
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Up
'
,
category
);
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Up (Line)
'
,
category
);
actionRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
ScrollUpPageTerminalAction
,
ScrollUpPageTerminalAction
.
ID
,
ScrollUpPageTerminalAction
.
LABEL
,
{
primary
:
KeyMod
.
Shift
|
KeyCode
.
PageUp
},
KEYBINDING_CONTEXT_TERMINAL_FOCUS
),
'
Terminal: Scroll Up (Page)
'
,
category
);
actionRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
ClearTerminalAction
,
ClearTerminalAction
.
ID
,
ClearTerminalAction
.
LABEL
),
'
Terminal: Clear
'
,
category
);
src/vs/workbench/parts/terminal/electron-browser/terminal.ts
浏览文件 @
8911a6a6
...
...
@@ -137,15 +137,14 @@ export interface ITerminalInstance {
*/
sendText
(
text
:
string
,
addNewLine
:
boolean
):
void
;
/**
* Scroll the terminal buffer down 1 line.
*/
scrollDown
():
void
;
/**
* Scroll the terminal buffer up 1 line.
*/
scrollUp
():
void
;
/** Scroll the terminal buffer down 1 line. */
scrollDownLine
():
void
;
/** Scroll the terminal buffer down 1 page. */
scrollDownPage
():
void
;
/** Scroll the terminal buffer up 1 line. */
scrollUpLine
():
void
;
/** Scroll the terminal buffer up 1 page. */
scrollUpPage
():
void
;
/**
* Clears the terminal buffer, leaving only the prompt line.
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts
浏览文件 @
8911a6a6
...
...
@@ -251,7 +251,7 @@ export class SwitchTerminalInstanceActionItem extends SelectActionItem {
export
class
ScrollDownTerminalAction
extends
Action
{
public
static
ID
=
'
workbench.action.terminal.scrollDown
'
;
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollDown
'
,
"
Scroll Down
"
);
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollDown
'
,
"
Scroll Down
(Line)
"
);
constructor
(
id
:
string
,
label
:
string
,
...
...
@@ -263,7 +263,28 @@ export class ScrollDownTerminalAction extends Action {
public
run
(
event
?:
any
):
TPromise
<
any
>
{
let
terminalInstance
=
this
.
terminalService
.
getActiveInstance
();
if
(
terminalInstance
)
{
terminalInstance
.
scrollDown
();
terminalInstance
.
scrollDownLine
();
}
return
TPromise
.
as
(
void
0
);
}
}
export
class
ScrollDownPageTerminalAction
extends
Action
{
public
static
ID
=
'
workbench.action.terminal.scrollDownPage
'
;
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollDownPage
'
,
"
Scroll Down (Page)
"
);
constructor
(
id
:
string
,
label
:
string
,
@
ITerminalService
private
terminalService
:
ITerminalService
)
{
super
(
id
,
label
);
}
public
run
(
event
?:
any
):
TPromise
<
any
>
{
let
terminalInstance
=
this
.
terminalService
.
getActiveInstance
();
if
(
terminalInstance
)
{
terminalInstance
.
scrollDownPage
();
}
return
TPromise
.
as
(
void
0
);
}
...
...
@@ -272,7 +293,28 @@ export class ScrollDownTerminalAction extends Action {
export
class
ScrollUpTerminalAction
extends
Action
{
public
static
ID
=
'
workbench.action.terminal.scrollUp
'
;
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollUp
'
,
"
Scroll Up
"
);
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollUp
'
,
"
Scroll Up (Line)
"
);
constructor
(
id
:
string
,
label
:
string
,
@
ITerminalService
private
terminalService
:
ITerminalService
)
{
super
(
id
,
label
);
}
public
run
(
event
?:
any
):
TPromise
<
any
>
{
let
terminalInstance
=
this
.
terminalService
.
getActiveInstance
();
if
(
terminalInstance
)
{
terminalInstance
.
scrollUpLine
();
}
return
TPromise
.
as
(
void
0
);
}
}
export
class
ScrollUpPageTerminalAction
extends
Action
{
public
static
ID
=
'
workbench.action.terminal.scrollUpPage
'
;
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.scrollUpPage
'
,
"
Scroll Up (Page)
"
);
constructor
(
id
:
string
,
label
:
string
,
...
...
@@ -284,7 +326,7 @@ export class ScrollUpTerminalAction extends Action {
public
run
(
event
?:
any
):
TPromise
<
any
>
{
let
terminalInstance
=
this
.
terminalService
.
getActiveInstance
();
if
(
terminalInstance
)
{
terminalInstance
.
scrollUp
();
terminalInstance
.
scrollUp
Page
();
}
return
TPromise
.
as
(
void
0
);
}
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
浏览文件 @
8911a6a6
...
...
@@ -220,14 +220,22 @@ export class TerminalInstance implements ITerminalInstance {
}
}
public
scrollDown
():
void
{
public
scrollDown
Line
():
void
{
this
.
_xterm
.
scrollDisp
(
1
);
}
public
scrollUp
():
void
{
public
scrollDownPage
():
void
{
this
.
_xterm
.
scrollDisp
(
this
.
_xterm
.
rows
-
1
);
}
public
scrollUpLine
():
void
{
this
.
_xterm
.
scrollDisp
(
-
1
);
}
public
scrollUpPage
():
void
{
this
.
_xterm
.
scrollDisp
(
-
(
this
.
_xterm
.
rows
-
1
));
}
public
clear
():
void
{
this
.
_xterm
.
clear
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录