猿问

vscode 扩展 - 如何记录击键

我正在为一个vscode extension(对于一些大学项目)进行用户测试,我需要获取在文本编辑器中按下的键的日志。


我尝试过使用onDidChangeTextDocument,但这不会捕获不修改文档的击键(例如,Ctrl 或 Alt)。我还尝试向活动文本编辑器添加一个事件侦听器,如下所示:


vscode.window.activeTextEditor.addEventListener(('keydown', event => {

  console.log(`KeyboardEvent: ${event.key || event.keyCode}`)

}))

但它看起来activeTextEditor不允许添加这样的功能。


有谁知道 vscode 是否允许监听击键?


拉莫斯之舞
浏览 224回答 2
2回答

沧海一幻觉

VS Code 不会直接向扩展公开按键事件。尝试查看 VS Code 的api 指南,并考虑是否可以以不同的方式完成您所追求的目标。然而,最接近keydown于 VS Code 的是扩展可以type在 VS Code 中注册命令:vscode.commands.registerCommand('type', e => ...)此命令将为按键触发。但是它不直接记录修饰键。该type命令也应仅用于调试或在非常特定的情况下使用,因为它具有性能问题和主要限制

梵蒂冈之花

vscode.workspace.onDidChangeTextDocument(handleChange)处理文档中的任何更改。通过这个,你甚至可以得到ekeystrokes。请参考这个链接
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答