Подтвердить что ты не робот

Настройка Emacs для программирования Erlang

Emacs - это IDE выбора для программирования Erlang.

Есть много хороших режимов (distel, erlware-mode, режим erlang по умолчанию,...), но каковы ваши рекомендации по настройке Emacs для профессиональной разработки Erlang?

4b9b3361

Ответ 1

Настройте erlang-режим, как описано в README, а затем активируйте Flymake:

(require 'erlang-flymake)

Это дает вам подсветку предупреждений и ошибок при вводе.

Я бы рекомендовал использовать erlang-mode из последней версии Erlang/OTP (R14A, когда я набираю это), независимо от того, какую версию вы обычно используете, так как она развивается довольно быстро и теперь так же хороша, как и erlware -mode, IMHO.

Если вы используете Emacs 24 или более поздней версии, я рекомендую установить erlang-mode из MELPA. Пакет "erlang" отслеживает ветвь "maint" репозитория Erlang/OTP Git, поэтому он всегда достаточно обновляется.

Ответ 2

Если вы хотите больше, чем предложения режима erlang, альтернативой Distel является EDTS, набор инструментов разработки Erlang. Чтобы процитировать файл readme:

EDTS предназначен для замены Distel, но только обеспечивает часть обычно используемые для функций Distel, в частности эквиваленты erl-find-module, erl-find-source-under-point, erl-who-calls и erl-refactor-subfunction. Насколько я знаю, это единственные функции Distel что 98% людей используют, но если есть что-нибудь от Distel, что вы пропуская в EDTS, пожалуйста, дайте мне знать.

Если вы используете EDTS, удалите Distel из вашей конфигурации, так как запуск обоих может создать некоторую путаницу.

Ответ 3

Посмотрите на эту статью о разных пакетах для работы с Erlang от Emacs. Я лично использую erlware-mode + distel

Ответ 4

erlang.el(для отступов и блокировки шрифтов) и Distel (отладчик, M- и т.д.) необходимы. ESense, я никогда не использовал, и я понятия не имею, что делает режим erlware. Вы можете использовать некоторые стандартные утилиты Emacs (flymake, интерфейс для управления версиями и т.д.) При написании Erlang.

Ответ 5

Я узнал ESense на emacswiki. Возможно стоит попробовать.

Ответ 6

Я нашел erlang-mode ok, но он не поддерживает kerl (это полезная вещь, вроде rvm для erlang, за исключением того, что она работает).

Итак, я начал это:

https://github.com/nicferrier/emacs-erlang-extras

который поддерживает несколько эрлангов.

Я предполагаю, что он также будет поддерживать арматуру:

https://github.com/rebar/rebar/wiki/Getting-started