Как добавить пользовательскую команду из пакета в Atom.io? - PullRequest
0 голосов
/ 27 февраля 2019

У меня трудности с добавлением пользовательских команд в редакторе Atom.Пытался искать здесь, но я думаю, что это работало на предыдущей версии, но не в последней версии (1.34).Поскольку в документации нет образца.Помогите, пожалуйста, в моем случае:

По сути, я хочу вызвать "core: select-all" и "join-plus: join-csv-single-quote" в 1 ключе.Поэтому, чтобы добиться этого, я увидел, что могу использовать диспетчерскую команду.

Другая найденная статья:

Как написать собственную команду в Atom?

Как запустить команду при запуске атома

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

Я пытался реализовать вещи, основываясь на своих выводах, но ни один из нихработают.Я правильно сделал?

PS: я пытался шаг за шагом, поэтому я обнаружил, что он даже не работает на первом шаге (core: select-all)

Мой init.coffee

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

My keymap.cson

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

Ниже приведен скриншот моего атома, чтобы убедиться, что настройки клавиш:

My atom configuration

1 Ответ

0 голосов
/ 27 февраля 2019

Из документации Atom :

::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 и преобразовать указанный выше код в js2coffee или decaffeinate .

...