在 Visual Studio 代码中,如果我在搜索小部件中,如何在不关闭小部件的情况下使转义键为编辑器提供焦点?
In Visual Studio code, if I'm in the search widget, how do I make the escape key give editor focus WITHOUT closing the widget?
有没有办法修改快捷方式,以便在查找小部件(红点)中按 escape
使编辑器(绿点)获得焦点而无需关闭查找小部件?
我自己做了一些研究,我想我必须为此做两个更改:
- 我必须将
escape
添加到为编辑器提供焦点的快捷方式。我找到了一个这样做的,名为 View: Focus Active Editor Group
。可能有一个更适合我的快捷方式,我想知道它是什么。
- 我将不得不删除关闭搜索小部件的快捷方式,当它具有焦点并且您按下
escape
键时。
我对第二点完全迷失了。有一个名为 Search: Cancel Search
的快捷方式,这似乎是显而易见的选择,但它的“何时”列另有建议:listFocus && searchViewletVisible && !inputFocus && searchState != '0'
首先,我不知道listFocus
是什么意思,the official documentation也不解释。其次,!inputFocus
似乎不是我要改变的场景。
第三,搜索 escape
快捷键很重要,因为它会关闭搜索对话框。幸运的是,我发现这可以通过在键盘快捷键搜索中输入 "escape"
来完成。我将此信息提供给其他人,因为他们可能需要了解此信息才能帮助我。
如果我在搜索小部件中按转义键,keyboard debugging 会显示:
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: / Received keydown event - modifiers: [], code: Escape, keyCode: 27, key: Escape
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [], code: Escape, keyCode: 9 ('Escape')
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: | Resolving Escape
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: \ From 52 keybinding entries, matched closeFindWidget, when: editorFocus && findWidgetVisible && !isComposing, source: built-in.
在您的 keybindings,json
中定义它
使用最后一个与键匹配且 when
的键绑定(从底部开始搜索)
{ "key": "escape",
"command": "workbench.action.focusActiveEditorGroup",
"when": "findInputFocussed && editorFocus || replaceInputFocussed && editorFocus"
}
when
子句看起来很奇怪,但那是因为你不能使用 ()
。
有没有办法修改快捷方式,以便在查找小部件(红点)中按 escape
使编辑器(绿点)获得焦点而无需关闭查找小部件?
我自己做了一些研究,我想我必须为此做两个更改:
- 我必须将
escape
添加到为编辑器提供焦点的快捷方式。我找到了一个这样做的,名为View: Focus Active Editor Group
。可能有一个更适合我的快捷方式,我想知道它是什么。 - 我将不得不删除关闭搜索小部件的快捷方式,当它具有焦点并且您按下
escape
键时。
我对第二点完全迷失了。有一个名为 Search: Cancel Search
的快捷方式,这似乎是显而易见的选择,但它的“何时”列另有建议:listFocus && searchViewletVisible && !inputFocus && searchState != '0'
首先,我不知道listFocus
是什么意思,the official documentation也不解释。其次,!inputFocus
似乎不是我要改变的场景。
第三,搜索 escape
快捷键很重要,因为它会关闭搜索对话框。幸运的是,我发现这可以通过在键盘快捷键搜索中输入 "escape"
来完成。我将此信息提供给其他人,因为他们可能需要了解此信息才能帮助我。
如果我在搜索小部件中按转义键,keyboard debugging 会显示:
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: / Received keydown event - modifiers: [], code: Escape, keyCode: 27, key: Escape
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [], code: Escape, keyCode: 9 ('Escape')
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: | Resolving Escape
[2022-05-06 04:03:00.883] [renderer1] [info] [KeybindingService]: \ From 52 keybinding entries, matched closeFindWidget, when: editorFocus && findWidgetVisible && !isComposing, source: built-in.
在您的 keybindings,json
使用最后一个与键匹配且 when
的键绑定(从底部开始搜索)
{ "key": "escape",
"command": "workbench.action.focusActiveEditorGroup",
"when": "findInputFocussed && editorFocus || replaceInputFocussed && editorFocus"
}
when
子句看起来很奇怪,但那是因为你不能使用 ()
。