首页 > 解决方案 > 用于显示键输入的 VSCode 扩展

问题描述

是否有在 vscode 中显示键输入的扩展?

我正在从 Atom 转到 VSCode。由于 atom 原生提供了密钥检测功能,我可以很容易地找到密钥冲突。

VSCode 是否具有相同的功能?

标签: visual-studio-codevscode-extensions

解决方案


在 vscode v1.49 中,添加了一种新的键绑定故障排除方法:

按键绑定疑难解答

要解决键绑定问题,您现在可以执行命令 Developer: Toggle Keyboard Shortcuts Troubleshooting。这将激活调度键盘快捷键的日志记录,并将打开一个带有相应日志文件的输出面板。

然后,如果您按下所需的键绑定,您可以检查 VS Code 检测到的内容以及调用的命令。

cmd+/例如,在 Macbook 上的代码编辑器中按下:

[KeybindingService]:/收到keydown事件-修饰符:[meta],code:MetaLeft,keyCode:91,key:Meta

[键绑定服务]:| 转换后的 keydown 事件 - 修饰符:[meta],代码:MetaLeft,keyCode:57('Meta')

[KeybindingService]:\ 无法调度键盘事件。

[KeybindingService]:/收到keydown事件-修饰符:[meta],code:Slash,keyCode:191,key:/[KeybindingService]:| 转换后的 keydown 事件 - 修饰符:[meta],代码:斜杠,keyCode:85 ('/')

[键绑定服务]:| 解析元+[斜线]

[KeybindingService]: \ 来自 2 个键绑定条目,匹配 editor.action.commentLine,当:editorTextFocus && !editorReadonly,来源:内置。

第一个 keydown 事件是针对MetaLeftkey ( cmd) 的,不能被调度。

第二个 keydown 事件用于Slashkey ( /),并以meta+[Slash]. 有两个键绑定条目映射自meta+[Slash],一个匹配的是 command editor.action.commentLine,具有when条件 editorTextFocus && !editorReadonly并且是内置的键绑定条目。

https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_49.md#troubleshooting-keybindings


您可以在每个命令的基础上找到关键冲突。请参阅检测键绑定冲突

键盘快捷键编辑器有一个上下文菜单命令显示冲突,它将根据键盘快捷键过滤键绑定以显示冲突。

来自 vscode 文档:键绑定冲突

选择一个带有您认为重载的键绑定的命令,您可以查看是否定义了多个命令、键绑定的来源以及它们何时处于活动状态。

来自 vscode 文档:键绑定冲突

还有一个命令也可以显示冲突:

"command": "keybindings.editor.showConflicts"

它可以绑定到键绑定,而不是调用上下文菜单并选择“显示冲突”。


推荐阅读