如何更改原子附加组件的键绑定?
How to change the keybindings of atom add-ons?
我已经在 Atom 中安装了 atom-shortcuts 附加组件,但由于我的键盘布局,我无法使用快捷方式切换备忘单,因此我想更改此附加组件的键绑定但是我在 Atom 的键绑定部分找不到它的名称。我在哪里可以找到更改此附加组件的键绑定所需的信息?
这个特定包的问题是它没有遵循分配键绑定的标准方法,即通过在 /keymaps
子文件夹中提供 CSON(或 JSON)文件。相反,包分配键绑定 programmatically。它也不会在其 activate()
方法中注册由键绑定触发的命令。
不幸的是,这种组合使得无法重新分配 “Atom 方式” 的键绑定。除非你能说服作者重新实现命令注册和键绑定分配(或自己 fork 包),否则只有最后一招:使用相同的肮脏技巧来改变包的行为。
您可以将以下 CoffeeScript 片段放入 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 if you want your keybinding to behave differently. CSS Tricks has a helpful testing tool 键盘事件文档。
我已经在 Atom 中安装了 atom-shortcuts 附加组件,但由于我的键盘布局,我无法使用快捷方式切换备忘单,因此我想更改此附加组件的键绑定但是我在 Atom 的键绑定部分找不到它的名称。我在哪里可以找到更改此附加组件的键绑定所需的信息?
这个特定包的问题是它没有遵循分配键绑定的标准方法,即通过在 /keymaps
子文件夹中提供 CSON(或 JSON)文件。相反,包分配键绑定 programmatically。它也不会在其 activate()
方法中注册由键绑定触发的命令。
不幸的是,这种组合使得无法重新分配 “Atom 方式” 的键绑定。除非你能说服作者重新实现命令注册和键绑定分配(或自己 fork 包),否则只有最后一招:使用相同的肮脏技巧来改变包的行为。
您可以将以下 CoffeeScript 片段放入 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 if you want your keybinding to behave differently. CSS Tricks has a helpful testing tool 键盘事件文档。