Находясь в оболочке sbt (если вы не хотите менять свою build.sbt):
$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit
Благодаря in ThisBuild, setприменяет настройки для всех суб-проектов, а также.
Командная строка
Вы также можете запустить вышеприведенную команду в виде одной команды.
sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile'
Хитрость заключается в использовании ;(точки с запятой) для разделения команд и '(галочки) для включения всех ;разделенных команд в качестве одного аргумента для sbt.
После этого вы можете использовать ensimeCompileOnlyзадачу для компиляции одного файла. SBT разрешает настройку параметров для каждой задачи, поэтому вы можете изменить только для этих задач:
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
Добавление Ensime просто для получения -deprecation- ужасная идея. Ensime для поддержки аннотации на лету в редакторах. Помимо этого, у самого Ensime есть множество проблем с некоторыми типами проектов (особенно те, которые интенсивно используют макросы).
Зак
Плагин ensime - небольшой компаньон для толстого языкового сервера. Вы можете использовать это отдельно. Или может просто скопировать некоторые функции из него.
Ответы:
Sbt Shell
Находясь в оболочке sbt (если вы не хотите менять свою
build.sbt
):Благодаря
in ThisBuild
,set
применяет настройки для всех суб-проектов, а также.Командная строка
Вы также можете запустить вышеприведенную команду в виде одной команды.
Хитрость заключается в использовании
;
(точки с запятой) для разделения команд и'
(галочки) для включения всех;
разделенных команд в качестве одного аргумента для sbt.источник
in Global
вместо того, чтобыin ThisBuild
одинаково хорошо работать с подпроектами, но почему последний предпочтительнее? или это даже?Добавьте этот параметр в свой build.sbt и, если у вас есть многомодульный проект, добавьте его в настройки каждого проекта.
источник
С течением времени появляются новые решения. Итак, теперь вы можете перезапустить компилятор scala без выдачи полной перестройки проекта.
Вам необходимо установить плагин ensime-sbt :
После этого вы можете использовать
ensimeCompileOnly
задачу для компиляции одного файла. SBT разрешает настройку параметров для каждой задачи, поэтому вы можете изменить только для этих задач:источник
-deprecation
- ужасная идея. Ensime для поддержки аннотации на лету в редакторах. Помимо этого, у самого Ensime есть множество проблем с некоторыми типами проектов (особенно те, которые интенсивно используют макросы).