Перезагрузка / Перекомпиляция / Обновление.beam файлов внутри терминала
Я использую Eclipse и Erlide для разработки в Erlang. Для запуска программного обеспечения я ввожу ebin/
каталог с моим терминалом, так как мне не нравится консоль, которую предоставляет Eclipse. Однако после каждого изменения я должен выйти и повторно ввести erl в терминале, чтобы перезагрузить .beam
файлы, которые были изменены. Eclipse автоматически генерирует новые .beam
файлы в ebin/
каталог после каждого сохранения.
Я знаю, что могу вручную скомпилировать его с c(filename)
команда, но это потребовало бы от меня перейти к src/
каталог, скомпилируйте файлы и переместите их обратно в ebin/
каталог. Это требует гораздо больше работы, чем просто выход и вход в терминал Erlang. Я слышал о make-файлах, но я не знаю, можно ли их запускать из терминала Erlang. Причина, по которой я не хочу выходить из терминала, заключается в том, что я потеряю историю предыдущих команд. Если я использую модули: методы с длинными именами, для каждого внесенного изменения требуется много времени.
Есть ли способ перезагрузить файлы.beam в текущем каталоге, находясь в терминале Erlang? Или есть ли способ загрузить предыдущую историю команд терминала Erlang?
3 ответа
Я хотел бы предложить что-то вроде активного или синхронизации, но прямой подход с c/1
, l/1
а также nl/1
тоже работает
Вы можете использовать l(Module).
команда в оболочке, которая загружает или перезагружает модуль из текущего каталога в Erlang.
[отредактировано] Запустите ваше приложение из Eclipse и проверьте имя узла, по умолчанию @. Закрой это.
Запустите отдельный узел erlang с тем же именем. Теперь при запуске приложения из eclipse этот узел привыкнет, и вы сможете использовать оболочку в терминале, тогда как erlide сможет автоматически загружать код луча при сохранении файлов.