Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5c82fedf
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,发现更多精彩内容 >>
提交
5c82fedf
编写于
7月 24, 2018
作者:
C
Christof Marti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Include list/tree in tab order and cycle within QuickInput/Open widget (fixes #51850)
上级
7d967a50
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
9 deletion
+22
-9
src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
+11
-2
src/vs/workbench/browser/parts/quickinput/quickInput.ts
src/vs/workbench/browser/parts/quickinput/quickInput.ts
+11
-7
未找到文件。
src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
浏览文件 @
5c82fedf
...
...
@@ -152,6 +152,15 @@ export class QuickOpenWidget extends Disposable implements IModelProvider {
DOM
.
EventHelper
.
stop
(
e
,
true
);
this
.
hide
(
HideReason
.
CANCELED
);
}
else
if
(
keyboardEvent
.
keyCode
===
KeyCode
.
Tab
&&
!
keyboardEvent
.
altKey
&&
!
keyboardEvent
.
ctrlKey
&&
!
keyboardEvent
.
metaKey
)
{
const
stops
=
e
.
currentTarget
.
querySelectorAll
(
'
input, .monaco-tree, .monaco-tree-row.focused .action-label.icon
'
);
if
(
keyboardEvent
.
shiftKey
&&
keyboardEvent
.
target
===
stops
[
0
])
{
DOM
.
EventHelper
.
stop
(
e
,
true
);
stops
[
stops
.
length
-
1
].
focus
();
}
else
if
(
!
keyboardEvent
.
shiftKey
&&
keyboardEvent
.
target
===
stops
[
stops
.
length
-
1
])
{
DOM
.
EventHelper
.
stop
(
e
,
true
);
stops
[
0
].
focus
();
}
}
})
.
on
(
DOM
.
EventType
.
CONTEXT_MENU
,
(
e
:
Event
)
=>
DOM
.
EventHelper
.
stop
(
e
,
true
))
// Do this to fix an issue on Mac where the menu goes into the way
...
...
@@ -243,7 +252,7 @@ export class QuickOpenWidget extends Disposable implements IModelProvider {
horizontalScrollMode
:
ScrollbarVisibility
.
Hidden
,
ariaLabel
:
nls
.
localize
(
'
treeAriaLabel
'
,
"
Quick Picker
"
),
keyboardSupport
:
this
.
options
.
keyboardSupport
,
preventRootFocus
:
tru
e
preventRootFocus
:
fals
e
}));
this
.
treeElement
=
this
.
tree
.
getHTMLElement
();
...
...
@@ -348,7 +357,7 @@ export class QuickOpenWidget extends Disposable implements IModelProvider {
if
(
keyboardEvent
.
keyCode
===
KeyCode
.
DownArrow
||
keyboardEvent
.
keyCode
===
KeyCode
.
UpArrow
||
keyboardEvent
.
keyCode
===
KeyCode
.
PageDown
||
keyboardEvent
.
keyCode
===
KeyCode
.
PageUp
)
{
DOM
.
EventHelper
.
stop
(
e
,
true
);
this
.
navigateInTree
(
keyboardEvent
.
keyCode
,
keyboardEvent
.
shiftKey
);
this
.
inputBox
.
input
Element
.
focus
();
this
.
tree
Element
.
focus
();
}
});
return
this
.
builder
.
getHTMLElement
();
...
...
src/vs/workbench/browser/parts/quickinput/quickInput.ts
浏览文件 @
5c82fedf
...
...
@@ -849,18 +849,22 @@ export class QuickInputService extends Component implements IQuickInputService {
break
;
case
KeyCode
.
Tab
:
if
(
!
event
.
altKey
&&
!
event
.
ctrlKey
&&
!
event
.
metaKey
)
{
const
inputs
=
[].
slice
.
call
(
container
.
querySelectorAll
(
'
.action-label.icon
'
))
;
const
selectors
=
[
'
.action-label.icon
'
]
;
if
(
container
.
classList
.
contains
(
'
show-checkboxes
'
))
{
inputs
.
push
(...[].
slice
.
call
(
container
.
querySelectorAll
(
'
input
'
))
);
selectors
.
push
(
'
input
'
);
}
else
{
inputs
.
push
(...[].
slice
.
call
(
container
.
querySelectorAll
(
'
input[type=text]
'
))
);
selectors
.
push
(
'
input[type=text]
'
);
}
if
(
event
.
shiftKey
&&
event
.
target
===
inputs
[
0
])
{
if
(
this
.
ui
.
list
.
isDisplayed
())
{
selectors
.
push
(
'
.monaco-list
'
);
}
const
stops
=
container
.
querySelectorAll
<
HTMLElement
>
(
selectors
.
join
(
'
,
'
));
if
(
event
.
shiftKey
&&
event
.
target
===
stops
[
0
])
{
dom
.
EventHelper
.
stop
(
e
,
true
);
inputs
[
input
s
.
length
-
1
].
focus
();
}
else
if
(
!
event
.
shiftKey
&&
event
.
target
===
inputs
[
input
s
.
length
-
1
])
{
stops
[
stop
s
.
length
-
1
].
focus
();
}
else
if
(
!
event
.
shiftKey
&&
event
.
target
===
stops
[
stop
s
.
length
-
1
])
{
dom
.
EventHelper
.
stop
(
e
,
true
);
input
s
[
0
].
focus
();
stop
s
[
0
].
focus
();
}
}
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录