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

Какая IDE для Scala 2.8?

Этот вопрос является тем же самым вопросом для более старой версии Scala, но они говорят, что плагин Eclipse значительно улучшен. Это лучшая IDE сейчас? Как сегодня сравнивать IDE Scala?

4b9b3361

Ответ 1

Я успешно справился с IDEA 9. Я кратко попробовал как Netbeans, так и Eclipse и не смог получить то, что хотел. Eclipse code-complete не вел себя так хорошо, как мне бы хотелось, и я не мог найти способ заставить Netbeans обрабатывать скрипты Scala; Он просто жалуется, что файл не был классом.

Чтобы быть ясным, я несколько лет использую IDEA для Java, поэтому имейте это в виду:)

Ответ 2

На данный момент лучше всего использовать плагин Scala в IntelliJ IDEA. Он обрабатывает Scala 2.8. IntelliJ IDEA Community Edition теперь бесплатна и с открытым исходным кодом (и работает с Scala), поэтому я не вижу причин для ее не использования.

Плагин по-прежнему несколько ошибочен (многие "ложные негативы", т.е. код без красных подчеркиваний может не скомпилироваться успешно, но почти без "ложных срабатываний" ), но отлично подходит для использования. Самое лучшее, что вы можете использовать отличный отладчик IDEA с Scala (не без некоторых проблем, но он действительно работает!).

FSC (Fast Scala Compiler) также поддерживается в последних сборках. Огромная экономия времени.

Команда разработчиков плагинов довольно отзывчива. Некоторые из парней работают непосредственно в JetBrains и обладают глубокими знаниями о платформе IDEA, поэтому развитие быстро развивается.

Ответ 3

JetBrains IDEA Scala плагины с плагинами 2.7 и 2.8 одинаково хорошо.

Я не могу сравнивать, потому что использовал только IDEA.

Ответ 4

Использование Eclipse Helios с dev-версией нового плагина Scala (2.8), поскольку официального релиза пока нет. Это бета, окончательно, но я не могу подтвердить часто выраженное мнение о том, что этот плагин абсолютно ужасен; -)

Я бы сказал, что опыт уже хорошо, и действительно лучше, чем текущее состояние дел с плагином Groovy. OTOH, опыт работы с простой Java намного более плавный (иногда кажется, что летают), а текущий CDT я бы оценил в несколько раз.

Инкрементальная компиляция и подсчет ошибок работают для меня довольно хорошо; настраивая DSL-реализацию в форму, просто переписывая код до тех пор, пока маркеры ошибок не исчезнут - без необходимости тестировать свою программу - это просто весело и просто показывает, что FP/статические типирующие камни!

Проблемы, возникающие время от времени: - implicits и вложенные типы в других единицах компиляции (особенно вложенные/суперпакеты) не собираются в моменты, когда есть еще другие ошибки; они будут подняты после полной сборки - похоже, утечка памяти в версии, которую я использую прямо сейчас (с конца августа 2010 года), что требует перезапуска рабочего места после нескольких часов работы - будьте осторожны, когда вы используете AspectJ, чтобы убедиться, что вы получаете версию плагина Scala, которая опирается на версию пакета JDT-переплетения, которая также работает с AJDT

PS: Я использую сборки maven во всех моих проектах и ​​генерировал проекты eclipse с помощью eclipse-maven-plugin, а затем импортировал их как проекты с плоским затенением. Я могу просто настоятельно рекомендовать всем держаться подальше от плагина M2-eclipse (для maven) в текущем состоянии (2010), это делает ваше рабочее место болезненно медленным, багги и имеет много почти непредсказуемого поведения, потому что он постоянно пытается это сделать (а кроме того, поддержка aspectj нарушена, так как это spring)

Ответ 5

Я использую как eclipse, так и IDEA

  • eclipse поддерживает обнаружение типов лучше, чем IDEA (это очень если вам нужна программа в функциональном стиле, который вы можете из-за типа выражений и переменные.)


    Edit1: IDEA поддерживает распознавание типа, например eclipse, но у вас есть определить значение в ваших функциях например: def testTs[A](a:List[String],b:List[A]) = for{ ai <- a bi <- b } yield (ai,bi) } следует преобразовать в def testTs[A](a:List[String],b:List[A]):List[(String,A)]={ val result = for{ ai <- a bi <- b } yield (ai,bi) }, а вместо наведения мыши на переменные вы должны нажать ctrl + q, когда ваша мышь наводится на эту переменную

  • В eclipse есть некоторые проблемы с кодом завершение (когда вы используете переменную в следующей строке, и вы хотите получить свойство этой переменной eclipse показать неправильные предложения кода)
  • в IDEA разрушает приложение scala на 5 секунд медленнее, чем затмение (есть некоторое решение для времени выполнения IDEA bust, но у них есть побочный эффект, есть некоторые проблемы) в идее есть хорошо известная проблема с двойной скоростью щелчка, которая проявляется во многих случаях, таких как открытие файла или выбор строки в источнике... вы можете увеличить время двойного щелчка, создав (или отредактировав)/home/.Xresources и добавьте эту строку: *.multiClickTime: 400

Edit1: в летнее время я предпочитаю использовать IDEA, а не eclipse

Ответ 6

Неответ: Нет.

Основываясь на том, что, по мнению воспринимаемого большинства, IDEA, вероятно, является лучшим Scala IDE сегодня. И это (читай: плагин Scala) сосет. Он не обрабатывает fsc, а вывод типа - беспорядок, многие ошибки не отображаются, ряд ошибок не помечены как ошибки, он медленный (когда проверки включены), тестовый бегун молча проглатывает прерывание (!= неудачных) тестов,...

Итак, я переключился на простой текстовый редактор с подсветкой синтаксиса на одном и с максимальной оболочкой с помощью SBT (простой инструмент сборки) на другом экране. Потрясающие! SBT реагирует (вы можете позволить изменениям файлов инициировать перекомпиляцию затронутого кода и даже повторять тесты), очень эффективно управляет зависимостями и имеет полезный вывод (esp для тестов, используя ScalaTest). SBT значительно увеличила мою производительность по сравнению с IDEA.

Вы теряете завершение кода, конечно, хотя geany предлагает мне идентифицированные символы. Но до тех пор, пока IDE не получают ввода типа для правильной работы, завершение кода не помогает, в любом случае.

Некоторые люди много заботятся о рефакторинге кода. Ну, IDE, видимо, тоже не делают хорошую работу. Даже если бы это было так, я бы предпочел только открыть их для этой конкретной задачи, чем использовать их все время.

Ответ 7

Я думаю, что лучшим вариантом пока является ScalaIDE для Eclipse. Вы можете зайти на веб-сайт ScalaIDE и посмотреть вокруг, чтобы увидеть сам. http://scala-ide.org/

Сильные стороны, о которых я вижу, следующие:

  • ,
  • учебники,
  • постоянные релизы,
  • поддержка от Typesafe.

Ниже приведено краткое описание основных функций:

Scala IDE обеспечивает поддержку для разработки приложений Scala на платформе Eclipse. Его основной целью является поддержка языка Scala и интеграция с инструментами Java Eclipse. Он обеспечивает многие функции, которые ожидают пользователи Eclipse, включая:

  • Поддержка смешанных проектов Scala/Java и любой комбинации зависимостей проекта Scala/Java. Операции, управляемые типом, прозрачны в Scala и Java файлах и проектах, что позволяет прямо ссылаться на Scala на Java и наоборот.
  • Редактор Scala с подсветкой синтаксиса, предполагаемым типом, гиперссылкой на определения, завершением кода, ошибками и предупреждающими маркерами, отступом, согласованием фигурных скобок.
  • Поддержка проекта и источника, включая поддержку Scala в представлении проводника пакета со встроенным контуром, контурным просмотром, быстрой схемой, открытым типом, иерархией открытого типа.
  • Инкрементальная компиляция, запуск приложения со встроенным отладчиком, гиперссылка из трассировки стека в источник Scala, интерактивная консоль.
  • Поддержка плагина Eclipse и OSGi, включая гиперссылку на Scala источник из файлов plugin.xml и манифеста.

ОБНОВЛЕНИЕ: особенности и преимущества, упомянутые в этом ответе, относятся к версиям 2.9 и 2.10 из Scala, потому что они уже прекращены. см. здесь:

"Версия 2.0.1 доступна только для Scala 2.9, если вы хотите использовать Scala IDE с Scala 2.8, установите версию 2.0.0 (поддержка Scala 2.8 было прекращено после версии 2.0.0)"

Ответ 8

Мой опыт ясно указывает на IntelliJ IDEA:

Около шести месяцев назад, когда я начал серьезный проект Scala (multi module), мне пришлось отказаться от Eclipse в качестве моей любимой Java IDE и перейти на IntelliJ (9.0.x). Eclipse Scala IDE была способной к ошибкам и часто переставала отвечать на запросы, даже для самых простых проектов. Для CI (Hudson) и сборки командной строки я зависим от Maven (с плагином Scala). Зависимости Maven (включая Scala libs) хорошо подбираются IntelliJ.

Несколько дней назад я обновился до IDEA X (CE) с текущим плагином (ночная сборка), и работа стала еще более плавной. Хотя fsc все равно заканчивается через некоторое время, когда он неактивен.

Из того, что я вижу, я хотел бы добавить, что на стороне IntelliJ есть больше возможностей реагировать на ошибки и постоянно улучшать плагин. Исправьте меня, когда я ошибаюсь, но разработка Eclipse Scala IDE кажется почти остановленной. Тем не менее "официальный" релиз Helios!

NB: просто предоставить некоторый контекст (не бахвальство, действительно): вышеупомянутый проект состоит из 25 модулей Scala (POM), 5 модулей Java, 325 Scala файлов общим количеством около 360 Scala классы, классы и черты case ( > 19 kLOC, включая комментарии). Моя платформа - OS X 10.6, Scala 2.8.1, Java 1.6.

UPDATE: после того, как возникла необходимость в довольно обширных рефакторингах (в основном, переместить класс, переименовать пакет), я обнаружил, что в недавнем плагине IDEA 10.0.1 0.4.413 (и, вероятно, в более ранних версиях) есть некоторые проблемы, Я не хочу объяснять специфику, но я (почти когда-либо) в конечном итоге вручную исправлял неразрешенные ссылки или иным образом перепутал код. Вы можете взглянуть на http://youtrack.jetbrains.net, чтобы получить представление.

Для всех, кто действительно рассматривает возможность серьезного развития с помощью Scala, я настоятельно рекомендую оценить рассматриваемые IDE за пределами основ. Когда вы входите в гибкий подход, который по моему выбору требует безболезной поддержки рефакторинга без сюрпризов (особенно в проектах с несколькими модулями), в настоящий момент все довольно сложно.

Это было бы довольно аккуратно, если бы кто-то придумал независимый от спецификации IDE список рефакторинга (и желаемых результатов), который можно было бы использовать для проверки поддержки рефакторинга IDE.

Ответ 9

Официально одобренный и поддерживаемый (by Typesafe) для Scala 2.9 - Eclipse. Текущая версия намного превосходит предыдущие версии и включает контекстно-зависимый REPL, полнофункциональный отладчик и даже возможность отладки операторов REPL. Я думаю, что этот вопрос необходимо обновить, и ответы будут рассмотрены.

Ответ 10

Я не рекомендую Scala IDE/Eclipse. Он не имеет много возможностей, которые даже доступны для Eclipse с Java. И есть ошибки.

Ответ 11

Я использую последние NetBeans и не пробовал ничего другого. Я встречал по крайней мере 2 заметных ошибки в NetBeans при кодировании в Scala:

Во-первых: NB иногда не удается запустить программу, зависая при сканировании классов. Решение. Создайте новый проект, скопируйте его и продолжайте.
Комментарий: Эта ошибка больше 10 лет.

Два: иногда NB не может видеть участников определенных пространств имен или классов и жалуется, когда вы их используете.
Решение: просто игнорируйте и продолжайте - компилятор не обнаружил ошибок и программа работает.

Ответ 12

Я бы рекомендовал плагин для IDEA.

Плагин Scala для NetBeans тоже хорош. Тем не менее, он еще не поддерживает NetBeans 6.9, новейшую версию, и вам все равно нужно загрузить его вручную, а не устанавливать его непосредственно из диспетчера плагинов внутри NetBeans.

Однако он лучше интегрируется с проектами Maven, чем плагин IDEA (это справедливо для NB и IDEA в целом, на мой взгляд).

Ответ 13

Отчасти это зависит от вашего стиля работы, так как все варианты имеют сильные и слабые стороны.

Если вам нужна рефакторинг в смешанных проектах java/ scala, то IntelliJ - ваш единственный вариант.

Если вы хотите выполнить какую-либо работу над компилятором или плагином компилятора, то Eclipse имеет то преимущество, что может запустить рабочую среду выполнения с помощью собственной сборки компилятора, включая точки останова. Он также значительно улучшился для выпуска 2,8 Scala.

Netbeans - отличный выбор, если вы уже хорошо знакомы с этой платформой, затраты на изучение новой среды могут значительно перевесить любые преимущества, и все три решения быстро улучшаются.

Ответ 14

Я еще не пробовал плагин netbeans scala, но я считаю, что плагин Intellij IDEA в любом случае намного лучше, чем scala ide, чем плагин scala eclipse, который настолько медленный, что меня сходит с ума. Хотя swing-приложения не очень хорошо работают с моим менеджером оконной панели.

Ответ 15

попробуйте IDEAX в последнем выпуске сообщества Intellij IDEA (версия 10), он улучшил плагин scala, который имеет более быструю компиляцию кода и exceution в дополнение к тому, что он имеет Maven3 и SBT, с помощью которых мы можем разрабатывать приложения Lift.

Ответ 16

Сообщество сообщества IntelliJ IDEA + Scala Плагин + SBT-плагин