以编程方式在Atom中添加键映射

问题描述 投票:1回答:1

我正在以编程方式创建几个命令,并且希望避免必须在keymap.cson中显式添加它们的键映射。

[Keymap Manager的Flight Manual]页面显示add方法。它没有给出如何实际使用此方法的示例,因此我想这应该有效:

atom.keymaps.add('atom-text-editor',{'alt-1':'custom:my-command'});

但是,这似乎不起作用。当我在开发人员控制台中运行此消息时,会收到以下消息:

Encountered an invalid key binding when adding key bindings from 'atom-text-editor' 'custom:my-command'.

即使将alt更改为ctrl,我仍然收到此消息。

atom.keymaps上正确的方法调用是什么样的。

atom-editor
1个回答
0
投票

我同意,文档不够详细。但是,通过反复试验,我设法弄清楚了:

atom.keymaps.add('foo', {
    'atom-text-editor' : {
        'alt-1': 'custom:my-command',
        '#': 'application:about'
        // etc
    }
});

说明:

atom.keymaps.add(source, bindings, priority);

source参数与Atom语音中称为selector的参数不同。相反,它是一个标识符,可用于删除键绑定(除非您似乎实际上尚未实现remove方法!)。

相反,选择器应放在bindings参数内部,如上所示。

© www.soinside.com 2019 - 2024. All rights reserved.