Я знаю, что это точный дубликат, но прошло год, и Scala кажется быстро движущимся, поэтому я считаю, что это может быть приемлемо снова спросить:
Какая лучшая среда разработки для Scala сейчас?
Я знаю, что это точный дубликат, но прошло год, и Scala кажется быстро движущимся, поэтому я считаю, что это может быть приемлемо снова спросить:
Какая лучшая среда разработки для Scala сейчас?
Я знаю, что плагин Eclipse - это незавершенная работа и полностью переписывается для Scala 2.8, но я видел, как недавно коллега использовал ночную сборку, и это было крайне плохо.
Я использую IntelliJ IDEA (Community Edition бесплатно), а плагин Scala для него действительно хорошо. Отличная подсветка синтаксиса, кодовая навигация и т.д. Это не так хорошо, как поддержка Java, но тогда я не обязательно этого ожидал. Это достаточно хорошо, что я чувствую себя более продуктивным, чем я был бы на Java!
Он также имеет интеграцию с функциями интеграции и консоли.
Я попробовал как Eclipse, NetBeans, так и IntelliJ IDEA,
Я надеюсь, что плагин Eclipse будет более зрелым во времени, но учитывая, что у него было достаточно времени, чтобы стать зрелым, я не большой поклонник этой идеи. Scala имеет большой потенциал, будучи хорошо продуманным, понятным программистом языком и работает на JVM (что означает отличную производительность и высокую доступность), но бедная поддержка IDE - самое худшее для такого языка. Написание PHP на простом текстовом редакторе приемлемо, но Scala, с таким сложным синтаксисом и требованием использовать раздутые библиотеки Java, требуется помощь. Возможно, нынешнее сообщество Scala с функциональным и Java-фонами не может этого понять, но вы не можете ожидать, что новички легко смогут перейти на такой язык мгновенно.
В любом случае, идите в IntelliJ IDEA...
Ваши основные параметры - это полноценная среда IDE, например IntelliJ IDEA, NetBeans или Eclipse, или текстовый редактор с некоторым знанием Scala, таким как TextMate или Emacs.
Лично мне нравится IntelliJ лучший. Я использую его для разработки Java в течение многих лет, особенно из-за его рефакторинга и навигации по коду. Плагин Scala был довольно груб для начала, но постоянно улучшается. Это с открытым исходным кодом, я вносил отчеты об ошибках и некоторые исправления ошибок.
Плагины IDE все работают, чтобы быть готовыми к Scala 2.8. Это была движущаяся цель в течение последних 6 месяцев, особенно учитывая, что бинарная совместимость была нарушена по мере добавления новых функций. Таким образом, вы можете обновить новую сборку компилятора, а затем дождаться обновления библиотек (например, спецификаций, scalatest), которые будут обновляться и перекомпилироваться.
Теперь, когда бета-версия Scala 2.8 неизбежна, эти проблемы реже.
IntelliJ реализует свой собственный синтаксический анализатор и тип вывода, как и для Java. Это позволяет более терпимо относиться к ошибкам и сразу же понимать ваш код при редактировании. Вывод типа еще не завершен. Eclipse делегирует большую часть этой работы на scalac, что означает, что они всегда должны соглашаться, но информация восстанавливается только при сохранении файлов и повторный запуск компилятора. Я не знаю, как NetBeans работают в этом отношении.
Прямо сейчас, IntelliJ IDEA. И одно большое отличие от настоящего года - год назад - бесплатная версия с открытым исходным кодом IDEA.
Лично я использую IDEA CE 9.0.1, но оставляю компиляцию и тестирование для SBT, которое я продолжаю работать в другом окне, с cc
или ~test
.
В контексте 2.8 я использовал Eclipse 3.5.x с ночным подключаемым модулем и IDEA Community Edition 9.0. Мне было явно лучше для IDEA, за исключением случаев компиляции. Но я использую sbt параллельно, и он заботится об этом.
Мои основные проблемы с подключаемым модулем Eclipse:
У меня не было этих проблем в IDEA 9.0 build # IC-93.13 с последним плагином 0.3.385. Кроме того, IDEA показывает мне неиспользуемые операторы импорта.
Все плагины, похоже, развиваются довольно быстро и активно развиваются, и я подозреваю, что то, что истинно сегодня, может быть не через месяц. Я надеюсь, что через несколько месяцев мы просто сможем использовать нашу любимую IDE и иметь хорошую поддержку Scala.
(обратите внимание, что это ответ моего недавнего ответа на оригинальный вопрос)