Defold. Настраиваем Atom (Updated_1)

def-atom

Многие из тех, кто попробовал Defold высказал свое «фе» в отношении Lua. Но есть разработчики, которые полюбили этот язык. Не зависимо от того, понравился ли вам Lua, в Defold писать код нужно именно на нем и хотелось бы  иметь удобный инструментарий для работы. Поэтому я решил рассказать про Atom и плагины к нему.

Atom — один из многих текстовых редакторов на javascript. Примечателен он тем, что его разработала команда github и выпустила в open source. Но нам он интересен из-за того, что Marius Petcu из Defold комьюнити разработал и выпустил замечательные плагины, которые облегчают нам с вами жизнь.

  • Atom-autocomplete-lua — автодополнение и другие мелкие приятности для языка Lua (в настройках можно выбрать версию языка. Defold работает с версией 5.1). Список некоторых возможностей:
Автодополнение методов метатаблиц
Автодополнение методов метатаблиц
Автодополнение по таблицам
Автодополнение модулей
Автодополнение по модулям
Автодополнение и документация по стандартным lua библиотекам
Автодополнение и документация по стандартным lua библиотекам
  • Atom Defold IDE — автодополнение для методов defold api. Причем плагин автоматически обновляется из документации при выходе новой версии движка. Есть возможность делать hot reload прямо из Atom по сочетанию клавиш или автоматически при сохранении файлов (см. настройки плагина). Для этого нужно скачать bob.jar актуальной версии.
Автодополнение по api мктодам Defold
Автодополнение по api мктодам Defold
Hot reload
Hot reload

Автор постоянно обновляет плагины, добавляя новые функции.

А вот несколько плагинов от других авторов, которые помогут сделать работу приятнее:

  • linter-lua— проверка синтаксиса lua (до первой ошибки в файле). Для работы плагина понадобится установить luac или luajit;

2016-11-17_18-21-06

  • goto — по сочитанию клавиш открывается список всех методов текущего класса, с возможностью быстрого перехода;

2016-11-17_18-04-39

  • indent-guide-improved — более явные отступы по которым видно начало и конец блока;68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f68617261692f696e64656e742d67756964652d696d70726f7665642f6d61737465722f646f632f64656d6f2e676966

Вот такой скромный список плагинов, который позволяет вполне комфортно работать с Defold. Если вы знаете еще какие-либо удобные плагины для Atom, расскажите в комментариях.

UPD 1: добавил информацию о плагине linter-luacheck

  • А где же плагин Lua для Idea ?

    • Только что посмотрел — плагин для Lua есть и даже весьма популярный, но сам я не пользовался.
      Там нужно решать 2 основные проблемы:
      1. минорная: где и как прописать что .script .gui_script .render_script это тоже lua
      2. серьезная: найти как всунуть автокомплит для defold api методов

      Когда есть atom со все готовым, этим как-то не очень хочется заниматься, если честно.
      Настроение писать игры, а не утилиты.

  • Crio Nuke

    Привет! А у тебя работает goto definition с lua в Atom?

    • Привет, не-а (

      • Crio Nuke

        Печаль:(
        Без этой функции тяжело писать код.

        • Согласен. Это значительный минус.