Перезагрузка / Перекомпиляция / Обновление.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 сможет автоматически загружать код луча при сохранении файлов.

Другие вопросы по тегам