Вопрос: Каково текущее состояние инструмента для Scala?


За последний год я слышал все больше шумихи относительно языка Scala. Я знаю, что существует несколько существующих проектов, которые планируют интегрировать поддержку Scala с IDE; однако не всегда ясно, насколько хороша интеграция.

В настоящее время они поддерживают Intellisense, а также Eclipse и Netbeans для языка Java? Поддерживают ли они также мгновенную проверку?


3


источник


Ответы:


Я не могу лично говорить об устойчивости плагинов IntelliJ или NetBeans (хотя я слышал хорошие вещи), но Scala IDE для Eclipse совсем недавно выпустила новую версию с Scala 2.7.4. Архитектурно этот выпуск сильно отличается от предыдущих, поскольку он использует Equinox Aspects, официально поддерживаемый механизм расширения JDT (и других расширений межплатформенного расширения). В то время как до того, как плагин Scala буквально взломал внутренности JDT, используя частные API и отражение, чтобы заставить систему вести себя правильно, теперь она может просто объявить свои точки расширения и позволить системе делать все остальное. Трудно даже описать, насколько стабильнее это делает вещи. Я не говорю, что все это солнце и розы, но если вы пробовали и отклонили плагин в прошлом (как и я), пришло время дать ему еще один взгляд.

Что касается того, как он складывается по функциональности, SDT не поддерживает рефакторинг (у IntelliJ есть некоторые базовые вещи, такие как «Переименовать»), и редактор не делает некоторые вещи, такие как «Mark Occurrences». Тем не менее, он имеет значительно лучшую схему, чем NetBeans, лучшую поддержку компилятора, чем IDEA, и очень хорошую смысловую подсветку. Все три плагина поддерживают поддержку контента (или «intellisense», как ее называет Microsoft), но пока никто из них не является особенно надежным в этой области. Scala IDE для Eclipse является единственным, кто поддерживает инкрементную компиляцию (alla Eclipse Java tooling).

Мой совет: ходить по магазинам. Попробуйте все три и посмотрите, какой из них лучше всего подходит для вас. Из того, что я слышал, Scala IDE для Eclipse продемонстрировала конкуренцию своим последним выпуском, но другие продемонстрировали такую ​​стабильную стабильность и устойчивое развитие, что вы пока не можете их подсчитать.


5



Вот аналогичный вопрос: Какая лучшая среда разработки для Scala?

В моем очень коротком опыте с Scala IDE для Eclipse  и Плагин Scala для Netbeans , похоже, что плагин Netbeans был немного более прочным, чем Eclipse.

С помощью Scala IDE для Eclipse у меня возникли проблемы с запуском объекта Scala Hello World типа, и иногда подсветка синтаксиса начнет действовать. Затем я попробовал подключаемый модуль Netbeans, и он казался более функциональным, чем Eclipse.

Я не использовал плагину Scala IDE очень подробно, поэтому я не могу говорить из большого опыта, но только из моего первоначального впечатления плагин Netbeans казался немного более стабильным, чем Eclipse один.


3



В настоящее время все три основных IDE находятся примерно на одном уровне поддержки.

  • IntelliJ - плагин имеет приступы не работать вообще, но в остальном неплохо. Основная платформа вялая (по крайней мере, в Linux) с v8.
  • Eclipse - плагин получает большую поддержку и находится под очень активной разработкой.
  • NetBeans - IMHO, плагин работает немного лучше, чем Eclipse, но неспособность запускать произвольные файлы является основным недостатком.

Все вышеперечисленное страдает от невозможности проанализировать АСТ во всех контекстах. Например, их легко смешивать, например, путем смешивания признаков с неявными defs. Никакая IDE не может быть доверена, если она сообщает о синтаксической ошибке. Вернитесь к компилятору, чтобы быть уверенным.


3



Я очень доволен использованием IntelliJ IDEA 8.1 и его Плагин Scala  и может порекомендовать его. Он даже имеет дорожная карта  что вы можете влиять, голосуя ваши любимые недостающие функции :) У меня нет опыта работы с поддержкой Scala других IDE, к сожалению.


3



Я использую плагин Eclipse Scala. Это довольно хорошо, но не на том же уровне, что и инструмент Java.


0



AS для intelliJ, не знаю. Но между Eclipse и Netbeans я должен сказать Netbeans, особенно если вы не хотите торговать maven для sbt, и вам нужна IDE, которая не мешает maven.

Поддержка Netbeans maven просто слишком хороша.

Редактор Scala Netbeans, похоже, работает очень хорошо. Я не забочусь о интегрированном наборе разработки scala в netbeans или плагине компилятора или о любых таких помощниках. Из netbeans я ожидаю всего три вещи: (a) Не мешайте maven и пусть maven запускает мою сборку (б) Дайте мне достойного редактора (c) Позвольте мне развернуть мои файлы .scala в исходный код библиотек, на которые ссылаются мои зависимости maven.

И Netebeans может доставить все три достаточно хорошо, я верю, даже если временами это чувствует себя слишком медленно.

Я могу сказать, что (1) Вы не сталкиваетесь с какой-либо проблемой компиляции, поскольку задача до maven. Плагин компилятора maven немного медленный. Но компиляция scala vs java всегда такая, болезненная. Тем не менее, если вы пробовали GWT компиляции java для javascript, это еще более болезненно.

(2) Netbeans точно определяет исходный код для вас maven-зависимостей, и вы можете вникать в самых неясных операторов сакалы, таких как CSS-манипуляторы лифта.

Что касается eclipse, интеграция eclipse maven всегда была противной. Интеграция Netbeans maven может стать очень кислым, если у вас большой проект со слишком большим количеством зависимостей и модулей. Тогда проверка внешних изменений, сделанных netbeans, просто ужасно медленная. Это недостаток netbeans.

Однако, если вы и поклонник SBT ... ну, может быть, тогда ответ может быть чем-то другим.

Но для меня, поскольку maven стал тем, чем он является сегодня, я никогда не хочу возвращаться к тем проектам «проект веб-приложений», «проект библиотеки» и т. Д., Как параметры, которые у вас есть при создании нового проекта в IDE. Я просто хочу «maven project», и, пожалуйста, выясните, какой мой выходной артефакт, читая pom.


-2