Ответ 1
Я попробовал оба, и в конце я предпочитаю прямой sbt для компиляции.
Против? Мне очень не хватает возможности щелкнуть ошибки компиляции и исправить код напрямую, но... компиляция в sbt выполняется намного быстрее.
Ночные сборки плагина Idea Scala могут отличаться по качеству/производительности, но в последнее время все лучше и лучше. В плагине Scala теперь можно отметить ряд ошибок, которые до того, как я должен был запустить компиляцию, чтобы поймать. (Например, я запускаю ночную сборку 0.4.693, и новые проверки методов уже были полезны.)
Мой совет по жизни с sbt в командной строке: запустите sbt и оставьте его в интерактивном режиме, насколько это возможно, чтобы использовать все загружаемое и JIT-ed.
sbt left running упадет в конечном итоге, но, предоставив ему больше памяти в вашей sbt-оболочке, вы можете сделать это только редко.
Здесь обертка запуска sbt, которая работает для меня.
java -Xms512M -Xmx1500M -XX:MaxPermSize=512m -jar `dirname $0`/sbt-launch.jar "[email protected]"
Моя самая большая проблема с sbt 0.7 заключается в том, что она часто возвращается и перекомпилирует большие фрагменты файлов, которые кажутся только касательными к коду, который я фактически менял. (Тем не менее, еще быстрее, чем Idea и fsc!)
Хорошие новости: у sbt 0.9 есть некоторые улучшенные улучшения в компиляции. К сожалению, путь миграции от 0,7 до 0,9 все еще находится в первых рядах. Презентация Марка Харры в NEScala находится в режиме http://www.nescala.org/2011/, если вам интересно.
Полезные плагины
- http://github.com/mpeltonen/sbt-idea - легко создать и сохранить проект Idea в синхронизации с вашим проектом sbt
- http://github.com/orfjackal/idea-sbt-plugin - позволяет создавать профили запуска для sbt из Idea (я нашел это медленнее, чем запуск sbt в командной строке в октябре прошлого года - но я вижу, что orfjackal все еще развивается, поэтому я должен дать ему еще один снимок)