Während in der sbt-Shell (wenn Sie Ihre nicht ändern möchten build.sbt):
$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit
Durch in ThisBuild, setwendet die Einstellungen für alle Teilprojekte, wie gut.
Befehlszeile
Sie können den obigen Befehl auch als einzelnen Befehl in der Befehlszeile ausführen.
sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile'
Der Trick besteht darin, ;(Semikolons) zu verwenden, um Befehle zu trennen, und '( ;Häkchen ), um alle getrennten Befehle als ein einziges Argument für sbt einzuschließen.
Fügen Sie diese Einstellung Ihrer build.sbt hinzu, und wenn Sie ein Projekt mit mehreren Modulen haben, fügen Sie sie den Einstellungen jedes Projekts hinzu.
Danach können Sie die ensimeCompileOnlyAufgabe verwenden, um eine einzelne Datei zu kompilieren. SBT ermöglicht die Konfiguration der Einstellungen pro Aufgabe, sodass Sie diese nur für diese Aufgaben ändern können:
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
Das Hinzufügen von Ensime -deprecationist eine schreckliche Idee. Ensime dient zur Unterstützung von On-the-Fly-Annotationen in Editoren. Außerdem hat Ensime selbst eine Reihe von Problemen mit einigen Arten von Projekten (insbesondere solchen, die Makros häufig verwenden).
Zac
Das ensime Plugin ist ein kleiner Begleiter des Fat Language Servers. Sie können es separat verwenden. Oder Sie können einfach einige Funktionen daraus kopieren.
Antworten:
sbt shell
Während in der sbt-Shell (wenn Sie Ihre nicht ändern möchten
build.sbt
):Durch
in ThisBuild
,set
wendet die Einstellungen für alle Teilprojekte, wie gut.Befehlszeile
Sie können den obigen Befehl auch als einzelnen Befehl in der Befehlszeile ausführen.
Der Trick besteht darin,
;
(Semikolons) zu verwenden, um Befehle zu trennen, und'
(;
Häkchen ), um alle getrennten Befehle als ein einziges Argument für sbt einzuschließen.quelle
in Global
anstattin ThisBuild
auch mit Teilprojekten gleich gut zu funktionieren - aber warum wird letzteres bevorzugt? oder ist es sogar?Fügen Sie diese Einstellung Ihrer build.sbt hinzu, und wenn Sie ein Projekt mit mehreren Modulen haben, fügen Sie sie den Einstellungen jedes Projekts hinzu.
quelle
Mit der Zeit entstehen neue Lösungen. Jetzt können Sie den Scala-Compiler erneut ausführen, ohne die gesamte Projektwiederherstellung durchzuführen.
Sie müssen das ensime-sbt-Plugin installieren :
Danach können Sie die
ensimeCompileOnly
Aufgabe verwenden, um eine einzelne Datei zu kompilieren. SBT ermöglicht die Konfiguration der Einstellungen pro Aufgabe, sodass Sie diese nur für diese Aufgaben ändern können:quelle
-deprecation
ist eine schreckliche Idee. Ensime dient zur Unterstützung von On-the-Fly-Annotationen in Editoren. Außerdem hat Ensime selbst eine Reihe von Problemen mit einigen Arten von Projekten (insbesondere solchen, die Makros häufig verwenden).