我正在为vscode extension
(针对某大学项目)进行用户测试,并且需要获取文本编辑器中按下的键的日志。
我尝试使用onDidChangeTextDocument
,但这不能捕获不会修改文档的击键(例如Ctrl或Alt)。我还试图将事件侦听器添加到活动文本编辑器中,如下所示:
vscode.window.activeTextEditor.addEventListener(('keydown', event => {
console.log(`KeyboardEvent: ${event.key || event.keyCode}`)
}))
但看起来activeTextEditor
不允许添加此类功能。
有人知道vscode是否允许监听按键吗?
答案 0 :(得分:1)
VS Code不会将按键事件直接暴露给扩展。尝试查看VS Code的api guide,并考虑是否可以以其他方式完成目标。
但是,在VS Code中最接近keydown
的是,扩展可以在VS Code中注册type
命令:vscode.commands.registerCommand('type', e => ...)
此命令将为按键触发。但是does not log modifier keys directly。 type
命令还应该仅用于调试或在非常特殊的情况下使用,因为它存在性能问题,并且major limitations
答案 1 :(得分:0)
vscode.workspace.onDidChangeTextDocument(handleChange)
处理文档中的任何更改。通过这种方式,您甚至可以击键。请参阅此link