windows 在VS代码中打开命令面板的键盘快捷键?

pxq42qpu  于 2023-06-24  发布在  Windows
关注(0)|答案(7)|浏览(120)

在运行VSCode的Windows 10上,如何使用键盘快捷键打开命令面板?在视图菜单下,它说快捷方式是ctrl+shift+P,但这样做并不能打开命令面板?

mfpqipee

mfpqipee1#

看起来f1工作而不是control+shift+ p。不知道为什么它把这个列为键盘快捷键...
编辑:所以在我的一些电脑上ctrl + shift + p工作得很好。不确定这可能与特定笔记本电脑上的Map冲突。

oxalkeyp

oxalkeyp2#

对我来说,它是绑定到Razer Cortex中的计时器设置。关闭定时器关闭功能,一切正常。

ujv3wf0j

ujv3wf0j3#

为什么会这样

很可能是因为你的操作系统的键绑定与VSCode的键绑定冲突。最有可能的是,您的操作系统密钥绑定(在我们的情况下为Ctrl + Shift)是为了一些重要的事情(例如,更改布局)而绑定的,并且由于此系统将焦点从应用程序移动到系统,并且应用程序无法接收keypress事件。

    • 任何应用都不能接收Ctrl-Shift-*事件,不包括VSCode**。

如何测试

我用的是Ubuntu,我设置了Ctrl+Shift组合来改变布局。然后我打开开发者控制台(Developer: Toggle Keyboard Shortcuts Troubleshooting)并进行了测试。下面是日志:

[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.

这里发生了什么应用程序(VSCode)检测Left Ctrl按下。但是当我按下Left Shift时,系统(Ubuntu)处理Any Ctrl+Any Shift组合以进行布局更改。由于系统(Ubuntu)处理了此重要事件,因此不会在应用程序(VSCode)中发送此事件。正因为如此,应用程序(VSCode)没有收到Left Shift按键事件,因为它被系统(Ubuntu)中断。
如果你看到同样的情况,那么你就知道问题的原因了。

最简单的解决方案

将系统Ctrl+Shift(默认情况下,它侦听Any-左或右)事件更改为Right Ctrl+Right Shift(或左)事件。在这种情况下,系统将仅监听右键,并将在应用程序中发送左键。您不需要修改应用程序快捷方式(只要它们不完全使用右键或左键)。
注意Any(默认)、LeftRight的重要性:)
我使用Right Ctrl+Right Shift进行系统布局更改,Left Ctrl+Left Shift+P用于VSCode中的命令调色板。
它现在工作:

[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift')
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.
[2020-09-13 11:57:47.789] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 80, key: P
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 46 ('P')
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: | Resolving ctrl+shift+[KeyP]
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: \ From 3 keybinding entries, matched workbench.action.showCommands, when: no when condition, source: user.

Linux系统上众所周知的bug

1234

Windows?

我在两个系统中都有Ctrl+Shift组合:Windows和Ubuntu。但这个问题只发生在Ubuntu上。Windows可以很好地使用它。

dgsult0t

dgsult0t4#

对我来说,它是绑定到英特尔图形指挥中心,这是预装在我的联想笔记本电脑。
我缩小这个问题的最快方法是打开Windows任务管理器,一个接一个地杀死不重要的服务,然后再次在VS Code中测试快捷方式。

iibxawm4

iibxawm45#

对我来说,它是我的联想军团笔记本电脑的联想神经中心。默认情况下,键盘快捷键Ctrl + Shift + P用于“防止错误输入”。禁用此功能后,一切都在VS Code中工作。

rks48beu

rks48beu6#

在我的情况下,该程序“滴答”,使用快捷方式“ctrl+shift+p”strat时钟,所以我不能使用它的vscode.
你可以尝试禁用“ticktick”快捷方式。

tyg4sfes

tyg4sfes7#

按F1或Ctrl+Shift+P打开命令选项板。

相关问题