如何从Atom.io中的程序包添加自定义命令?

时间:2019-02-27 05:31:42

标签: atom-editor

我很难在Atom编辑器中添加自定义命令。试图在这里搜索,但我认为它适用于以前的版本,但不适用于最新版本(1.34)。由于文档中没有样本。请帮我解决这个问题:

基本上,我想用1键触发“ core:select-all”和“ join-plus:join-csv-单引号”。因此,为了实现这一目标,我看到可以使用调度命令。

我发现的其他一些文章:

How do I write a custom command in Atom?

How to run a command when atom starts

https://blog.atom.io/2018/10/09/automate-repetitive-tasks-with-composed-commands.html

我尝试根据自己的发现实施事情,但是没有一个起作用。我做对了吗?

PS:我一步一步地尝试,所以我发现它甚至都没有在第一步上工作(核心:全选)

我的init.coffee

atom.commands.add 'custom-command',
'custom:command': ->
view = atom.views.getView(atom.workspace.getActiveTextEditor())
atom.commands.dispatch(view, "core:select-all")

我的keymap.cson

'atom-workspace':
'alt-shift-o': 'custom-command'

下面是我的原子屏幕截图,用于确保键绑定设置:

My atom configuration

1 个答案:

答案 0 :(得分:1)

来自Atom documentation

  

::add(target, commandName, listener)

     

添加与选择器关联的一个或多个命令侦听器。

该方法的第一个参数不是目标,而是自定义字符串。以下工作正常:

atom.commands.add "atom-workspace", "custom-command": ->
    view = atom.views.getView(atom.workspace.getActiveTextEditor())

    atom.commands.dispatch(view, "core:select-all")
    atom.commands.dispatch(view, "join-plus:join-csv-single-quote")

init.coffee中的更改生效之前,您可能必须重新启动Atom。

还要注意,CoffeeScript是一种对缩进敏感的语言。您发布的代码应该在Atom中创建了一个错误。如果您对JavaScript感到更满意,可以将init.coffee替换为init.js,然后将上面的代码转换为js2coffeedecaffeinate