Я видел вопросы о IDE здесь - Какая из лучших IDE для разработки Scala? и Что это текущее состояние инструментария для Scala?, но у меня были смешанные впечатления от IDE. Прямо сейчас я использую Eclipse IDE с опцией автоматического обновления рабочего пространства, а KDE 4 Kate - как текстовый редактор. Вот некоторые из проблем, которые я хотел бы решить:
- использовать мой собственный редактор. IDE действительно ориентированы на всех, используя их компоненты. Мне нравится Кейт лучше, но система обновления очень раздражает (она не использует inotify, а может быть, 10 секундный интервал опроса). Причина, по которой я не использую встроенный текстовый редактор, состоит в том, что сломанные автоматически завершенные функции заставляют IDE зависать, возможно, за 10 секунд.
- перестроить только измененные файлы. Система сборки Eclipse нарушена. Он не знает, когда нужно перестраивать классы. Я почти половину времени собираюсь проектировать → чистить. Хуже того, кажется, что даже после того, как он завершил строительство моего проекта, через несколько минут он появится с какой-то странной ошибкой (отредактируйте - эти ошибки выглядят как вещи, которые ранее были решены с помощью проектa > чистые, но затем вернулись...). Наконец, установка "Предпочтения/Продолжение запуска, если проект содержит ошибки" для "подсказки", похоже, не влияет на проекты Scala (т.е. Он всегда запускается, даже если есть ошибки).
- создать настройку. Я могу использовать "ночную" версию, но я хочу изменить и использовать собственные сборки Scala, а не компилятор, встроенный в плагин IDE. Было бы неплохо передать [например.]
-Xprint:jvm
компилятору (чтобы распечатать сниженный код). - быстрая компиляция Несмотря на то, что Eclipse не всегда правильно строится, он кажется быстрым - даже больше, чем
fsc
.
Я посмотрел на Ant и Maven, хотя еще не наработал (мне также нужно будет потратить время на решение № 3 и № 4). Я хотел посмотреть, есть ли у кого-нибудь другие предложения, прежде чем я потрачу время на то, чтобы работать с субоптимальной системой сборки. Спасибо заранее!
UPDATE. Теперь я использую Maven, передавая проект как плагин для компилятора. Это кажется достаточно быстрым; Я не уверен, что такое кеш-кеппинг Maven. Доступен текущий репозиторий для Scala 2.8.0 [ссылка]. Архетипы очень крутые, и кросс-платформенная поддержка кажется очень хорошей. Однако о проблемах с компиляцией я не уверен, что fsc на самом деле исправлена, или мой проект достаточно стабилен (например, имена классов не меняются) - запуск его вручную не мешает мне. Если вы хотите увидеть пример, не стесняйтесь просматривать файлы pom.xml, я использую [github].
ОБНОВЛЕНИЕ 2 - из тестов, которые я видел, Дэниел Спивак прав, что buildr быстрее, чем Maven (и, если кто-то делает инкрементные изменения, Maven 10 секундная латентность раздражает), поэтому, если один может создать совместимый файл сборки, тогда он, вероятно, стоит того...