Mientras está en sbt shell (si no desea cambiar su build.sbt):
$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit
Debido a in ThisBuild, setaplica la configuración a todos los subproyectos, también.
Línea de comando
También puede ejecutar lo anterior como un solo comando en la línea de comandos.
sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile'
El truco consiste en usar ;(punto y coma) para separar comandos y '( ;marcas ) para incluir todos los comandos separados como un argumento único para sbt.
A medida que pasa el tiempo, surgen nuevas soluciones. Entonces, ahora podría volver a ejecutar el compilador scala sin emitir la reconstrucción completa del proyecto.
Después de eso, podría usar la ensimeCompileOnlytarea para compilar un solo archivo. SBT permite la configuración de ajustes por tareas, por lo que puede cambiar solo para esas tareas:
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
Agregar Ensime solo para obtener -deprecationes una idea terrible. Ensime es para soportar anotaciones sobre la marcha en editores. Además de eso, Ensime en sí tiene una serie de problemas con algunos tipos de proyectos (especialmente aquellos que usan macros en gran medida).
Zac
El complemento ensime es un pequeño compañero del servidor de lenguaje gordo. Podrías usarlo por separado. O simplemente podría copiar alguna funcionalidad de él.
Respuestas:
sbt shell
Mientras está en sbt shell (si no desea cambiar su
build.sbt
):Debido a
in ThisBuild
,set
aplica la configuración a todos los subproyectos, también.Línea de comando
También puede ejecutar lo anterior como un solo comando en la línea de comandos.
El truco consiste en usar
;
(punto y coma) para separar comandos y'
(;
marcas ) para incluir todos los comandos separados como un argumento único para sbt.fuente
in Global
lugar dein ThisBuild
funcionar igualmente bien con subproyectos, pero ¿por qué se prefiere este último? o es par?Agregue esta configuración a su build.sbt y, si tiene un proyecto de varios módulos, agréguelo a la configuración de cada proyecto.
fuente
A medida que pasa el tiempo, surgen nuevas soluciones. Entonces, ahora podría volver a ejecutar el compilador scala sin emitir la reconstrucción completa del proyecto.
Necesita instalar el complemento ensime-sbt :
Después de eso, podría usar la
ensimeCompileOnly
tarea para compilar un solo archivo. SBT permite la configuración de ajustes por tareas, por lo que puede cambiar solo para esas tareas:fuente
-deprecation
es una idea terrible. Ensime es para soportar anotaciones sobre la marcha en editores. Además de eso, Ensime en sí tiene una serie de problemas con algunos tipos de proyectos (especialmente aquellos que usan macros en gran medida).