在VS Code中打开命令面板的键盘快捷方式是什么?

24
在运行VSCode的Windows 10上,如何使用键盘快捷键打开“命令面板”?在“视图”菜单下,它说快捷键是ctrl+shift+P,但按下这个组合键并没有打开“命令面板”。

enter image description here


2
所述的快捷键在vscode中无法使用,也没有相关问题...也许有人有解决方法。F1可以正常工作。 - Zachscs
1
在我的情况下,一个外部程序——宏录制器正在占用我的CTRL + SHIFT + P。如果任何人的按键绑定在重新绑定窗口中被“占用”,那么这很可能是由于外部原因造成的。 - Vael Victus
7个回答

38

看起来 f1 可以代替 control+shift+p。不知道为什么它会将这个键盘快捷方式列出来…

编辑:所以在我的一些电脑上,ctrl + shift + p 可以正常使用。可能是特定笔记本电脑上映射的冲突问题。


5
打开键盘快捷键(Windows:文件->首选项->键盘快捷键;Mac:代码->首选项->键盘快捷键),确保ctrl + shift + p未分配给多个命令。在Mac和Windows 10上,它既分配给“显示所有命令”(我所期望的),又分配给“workbench.action.quickOpenNavigatePreviousInFilePicker”,而这也被分配给ctrl + p。这些值都在默认键绑定中。删除绑定没有解决问题,但我认为这可能与某种方式有关。 - bynary
注意:我意识到键绑定中存在“where”方面的内容。 - bynary
这个回答实际上并没有解决问题。那么解决方案是什么? - James
2
@James 对于大多数人来说,ctrl+shift+p是有效的。我怀疑问题出在你的绑定文件和其他可能冲突的程序上。 - Micah Zoltu

8

对于我来说,这个问题与Razer Cortex中的定时器设置有关。关闭了定时器功能后,问题得到了解决。


谢谢,我也经常遇到这种情况。这解决了我的问题。 - Prut Udomwattawee

3

为什么会发生这种情况

很可能是因为您的操作系统快捷键与 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)检测到左 Ctrl按键。但是当我按下左 Shift时,系统(Ubuntu)会处理任何 Ctrl + 任何 Shift组合以进行布局更改。由于系统(Ubuntu)处理了这个重要事件,因此它不会在应用程序(VSCode)中发送此事件。因此,应用程序(VSCode)没有收到左 Shift按键事件,因为它被系统(Ubuntu)中断了。
如果您遇到同样的问题,那么您就知道问题的原因了。
最简单的解决方案是将系统默认监听任何(左或右)的Ctrl+Shift事件更改为监听右 Ctrl+右 Shift(或左)事件。这样,系统将仅监听右侧键,并将左侧键发送到应用程序中。您无需修改应用程序快捷方式(只要它们没有使用完全正确或左侧的键)。
请注意任何(默认)、之间的重要性 :)
我使用右 Ctrl+右 Shift来更改系统布局,在 VSCode 中使用左 Ctrl+左 Shift+P打开命令面板。
现在已经可以正常工作了。
[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

1, 2, 3, 4

Windows?

我在Windows和Ubuntu系统中都有Ctrl+Shift组合键,但这个问题只在Ubuntu上出现。在Windows上正常工作。


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

enter image description here


0

对我来说,这个问题与预安装在我的联想笔记本中的英特尔图形命令中心相关。

我缩小了问题范围的最快方法是打开Windows任务管理器,逐个结束非必要服务,然后再次在VS Code中测试快捷方式。


0
在我的情况下,程序“ticktick”使用快捷键“ctrl+shift+p”启动时,我无法在vscode中使用它。
您可以尝试禁用“ticktick”快捷键。

0

按下 F1Ctrl+Shift+P 打开命令面板。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接