【问题标题】:How to add custom command from package in Atom.io?如何从 Atom.io 的包中添加自定义命令?
【发布时间】:2019-07-20 18:30:51
【问题描述】:

我在 Atom 编辑器中添加自定义命令时遇到了困难。试图在这里搜索,但我认为它适用于以前的版本,但不适用于最新版本(1.34)。由于文档中没有示例。请帮助我的情况:

基本上,我想用 1 个键触发“core:select-all”和“join-plus:join-csv-single-quote”。所以为了实现这一点,我看到我可以使用 dispatch 命令。

我发现的其他一些文章:

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'

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

【问题讨论】:

  • @AbdullaThanseeh,我确实提到过。它有效,但我的问题实际上是包中的命令,所以请帮助解释如何将命令放入该代码中?因为我认为我应该执行“调度”命令?
  • init.coffee 中的代码是否正确缩进? Atom 是否在开发者工具控制台中显示任何错误?

标签: atom-editor


【解决方案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")

您可能需要重新启动 Atom,您的 init.coffee 中的更改才会生效。

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

【讨论】:

  • 谢谢!!我知道缩进并且原子没有错误。
猜你喜欢
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多