Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
577e26e2
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,发现更多精彩内容 >>
提交
577e26e2
编写于
12月 16, 2016
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ensure terminal panel is active for terminalTextSelected key
Fixes #17232
上级
a652dc87
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
3 deletion
+9
-3
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
...bench/parts/terminal/electron-browser/terminalInstance.ts
+9
-3
未找到文件。
src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
浏览文件 @
577e26e2
...
...
@@ -17,8 +17,9 @@ import { Dimension } from 'vs/base/browser/builder';
import
{
IContextKeyService
,
IContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
import
{
IMessageService
,
Severity
}
from
'
vs/platform/message/common/message
'
;
import
{
IPanelService
}
from
'
vs/workbench/services/panel/common/panelService
'
;
import
{
IStringDictionary
}
from
'
vs/base/common/collections
'
;
import
{
ITerminalInstance
,
KEYBINDING_CONTEXT_TERMINAL_TEXT_SELECTED
,
IShell
}
from
'
vs/workbench/parts/terminal/common/terminal
'
;
import
{
ITerminalInstance
,
KEYBINDING_CONTEXT_TERMINAL_TEXT_SELECTED
,
TERMINAL_PANEL_ID
,
IShell
}
from
'
vs/workbench/parts/terminal/common/terminal
'
;
import
{
IWorkspace
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
StandardKeyboardEvent
}
from
'
vs/base/browser/keyboardEvent
'
;
import
{
TabFocus
}
from
'
vs/editor/common/config/commonEditorConfig
'
;
...
...
@@ -66,7 +67,8 @@ export class TerminalInstance implements ITerminalInstance {
shell
:
IShell
,
@
IContextKeyService
private
_contextKeyService
:
IContextKeyService
,
@
IKeybindingService
private
_keybindingService
:
IKeybindingService
,
@
IMessageService
private
_messageService
:
IMessageService
@
IMessageService
private
_messageService
:
IMessageService
,
@
IPanelService
private
_panelService
:
IPanelService
)
{
this
.
_toDispose
=
[];
this
.
_skipTerminalCommands
=
[];
...
...
@@ -172,12 +174,14 @@ export class TerminalInstance implements ITerminalInstance {
}));
this
.
_toDispose
.
push
(
DOM
.
addDisposableListener
(
this
.
_xterm
.
textarea
,
'
blur
'
,
(
event
:
KeyboardEvent
)
=>
{
this
.
_terminalFocusContextKey
.
reset
();
this
.
_refreshSelectionContextKey
();
}));
this
.
_toDispose
.
push
(
DOM
.
addDisposableListener
(
this
.
_xterm
.
element
,
'
focus
'
,
(
event
:
KeyboardEvent
)
=>
{
this
.
_terminalFocusContextKey
.
set
(
true
);
}));
this
.
_toDispose
.
push
(
DOM
.
addDisposableListener
(
this
.
_xterm
.
element
,
'
blur
'
,
(
event
:
KeyboardEvent
)
=>
{
this
.
_terminalFocusContextKey
.
reset
();
this
.
_refreshSelectionContextKey
();
}));
this
.
_wrapperElement
.
appendChild
(
this
.
_xtermElement
);
...
...
@@ -284,7 +288,9 @@ export class TerminalInstance implements ITerminalInstance {
}
private
_refreshSelectionContextKey
()
{
this
.
_terminalHasTextContextKey
.
set
(
!
window
.
getSelection
().
isCollapsed
);
const
activePanel
=
this
.
_panelService
.
getActivePanel
();
const
isFocused
=
activePanel
&&
activePanel
.
getId
()
===
TERMINAL_PANEL_ID
;
this
.
_terminalHasTextContextKey
.
set
(
isFocused
&&
!
window
.
getSelection
().
isCollapsed
);
}
private
_sanitizeInput
(
data
:
any
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录