【发布时间】:2020-05-12 08:42:08
【问题描述】:
我已经在 Atom 中安装了 atom-shortcuts 插件,但由于我的键盘布局,我无法使用快捷方式来切换备忘单,所以我想更改此插件的键绑定,但我可以'在 Atom 的键绑定部分中找不到它的名称。我在哪里可以找到更改此插件的键绑定所需的信息?
【问题讨论】:
我已经在 Atom 中安装了 atom-shortcuts 插件,但由于我的键盘布局,我无法使用快捷方式来切换备忘单,所以我想更改此插件的键绑定,但我可以'在 Atom 的键绑定部分中找不到它的名称。我在哪里可以找到更改此插件的键绑定所需的信息?
【问题讨论】:
这个特定包的问题在于它不遵循分配键绑定的标准方法,即在 /keymaps 子文件夹中提供 CSON(或 JSON)文件。相反,包分配键绑定programmatically。它也不会在其activate() 方法中注册由键绑定触发的命令。
不幸的是,这种组合使得无法重新分配 “Atom 方式” 的键绑定。除非您可以说服作者重新实现命令注册和键绑定分配(或自己分叉包),否则只有最后一种手段:使用相同的肮脏技巧来更改包的行为。
您可以将以下 CoffeeScript sn-p 放入 Atom 的 init script 文件中:
# Get the selector for the atom-shortcuts element
atomShortCuts = document.querySelector "div.atom-shortcuts"
# Assign a custom keydown event
document.body.addEventListener 'keydown', (event) ->
# Pick a shortcut, Ctrl+Shift+S in this example
if event.ctrlKey and event.key is 'S'
atomShortCuts.style.display = 'block'
return
如果您希望您的键绑定表现不同,我建议您阅读 MDN 的 KeyboardEvent 文档。 CSS Tricks 有一个有用的testing tool 用于键盘事件。
【讨论】: