отправка команд последовательно при сохранении файла? Инициализация кофе

#atom-editor #platformio

#atom-редактор #platformio

Вопрос:

Код :

 atom.workspace.observeTextEditors (editor) ->
  editor.onDidSave ->
    view = atom.views.getView(atom.workspace.getActiveTextEditor())
    atom.commands.dispatch(view, 'platformio-ide-terminal:insert-custom-text-1')
    .then () -> atom.commands.dispatch(view, 'platformio-ide-terminal:insert-custom-text-2')
  

Почему atom не позволяет мне последовательно выполнять команды из разных пакетов в моем init-файле таким образом?

Ответ №1:

Трудно сказать, почему это не работает с такой небольшой предоставленной информацией

  • работает ли отправка какой-либо из этих команд (например, в консоли)?
  • это из-за цепочки, которая не работает?
  • есть ли какие-либо ошибки в консоли?
  • вы перезапустили Atom после обновления файла инициализации?

Я переработал ваш код, чтобы использовать ES6, так как я предпочитаю синтаксис async / await вместо синтаксиса «thenable». Чтобы использовать его, переименуйте init.coffee в init.js :

 atom.workspace.observeTextEditors(editor => {
  return editor.onDidSave(async () => {
    const view = atom.views.getView(atom.workspace.getActiveTextEditor());

    await atom.commands.dispatch(view, 'platformio-ide-terminal:insert-custom-text-1');
    await atom.commands.dispatch(view, 'platformio-ide-terminal:insert-custom-text-2');
  });
});
  

Обратите внимание, что я протестировал фрагмент кода, используя команды, в которых я уверен, что они доступны. Тем не менее, я вернул их к тем, что приведены в вашем примере (еще раз: убедитесь, что они работают!).