Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
883e5d73
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,发现更多精彩内容 >>
提交
883e5d73
编写于
12月 05, 2016
作者:
D
Daniel Imms
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix keybinding chord breakage
Fixes #16498
上级
88eac6cd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
12 deletion
+19
-12
src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
+19
-12
未找到文件。
src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
浏览文件 @
883e5d73
...
...
@@ -142,26 +142,33 @@ export abstract class KeybindingService implements IKeybindingService {
return
'
//
'
+
nls
.
localize
(
'
unboundCommands
'
,
"
Here are other available commands:
"
)
+
'
\n
// -
'
+
pretty
;
}
public
resolve
(
keybinding
:
Keybinding
,
target
:
IContextKeyServiceTarget
):
IResolveResult
{
const
keyCode
=
keybinding
.
extractKeyCode
();
let
isModifierKey
=
(
keyCode
===
KeyCode
.
Ctrl
||
keyCode
===
KeyCode
.
Shift
||
keyCode
===
KeyCode
.
Alt
||
keyCode
===
KeyCode
.
Meta
);
if
(
isModifierKey
)
{
return
null
;
public
resolve
(
keybinding
:
Keybinding
,
target
:
IContextKeyServiceTarget
,
skipModifierKeyEvaluation
?:
boolean
):
IResolveResult
{
// To prevent additional work, calling this function internally is allowed to skip the
// modifier key evaludation.
if
(
!
skipModifierKeyEvaluation
)
{
if
(
this
.
_isModifierKey
(
keybinding
))
{
return
null
;
}
}
let
contextValue
=
this
.
_contextKeyService
.
getContextValue
(
target
);
const
contextValue
=
this
.
_contextKeyService
.
getContextValue
(
target
);
return
this
.
_getResolver
().
resolve
(
contextValue
,
this
.
_currentChord
,
keybinding
.
value
);
}
protected
_dispatch
(
e
:
IKeyboardEvent
):
void
{
const
resolveResult
=
this
.
resolve
(
new
Keybinding
(
e
.
asKeybinding
()),
e
.
target
);
private
_isModifierKey
(
keybinding
:
Keybinding
):
boolean
{
const
keyCode
=
keybinding
.
extractKeyCode
();
return
(
keyCode
===
KeyCode
.
Ctrl
||
keyCode
===
KeyCode
.
Shift
||
keyCode
===
KeyCode
.
Alt
||
keyCode
===
KeyCode
.
Meta
);
}
if
(
!
resolveResult
)
{
return
;
protected
_dispatch
(
e
:
IKeyboardEvent
):
void
{
const
keybinding
=
new
Keybinding
(
e
.
asKeybinding
());
if
(
this
.
_isModifierKey
(
keybinding
))
{
return
null
;
}
if
(
resolveResult
.
enterChord
)
{
const
resolveResult
=
this
.
resolve
(
keybinding
,
e
.
target
,
true
);
if
(
resolveResult
&&
resolveResult
.
enterChord
)
{
e
.
preventDefault
();
this
.
_currentChord
=
resolveResult
.
enterChord
;
if
(
this
.
_statusService
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录