2013-10-25 15 views
6

Ich gebe dem IntelliJ Scala Plugin gerade einen Spin und eine Sache nervt mich ein bisschen. Ich bekomme 3 Warnungen beim Kompilieren.Scala Warnungen, IntelliJ und Compiler Flags

Warning: scala: Recompiling 4 files 
Warning: scala: 
Warning: scala: there were 1 deprecation warnings; re-run with -deprecation for details 

Warum gibt es Warnungen, dass Dateien neu kompiliert werden? Kann das ausgeschaltet werden? Und schließlich, was ist mit der leeren Warnung? : D

+1

Welches Scala-Plugin verwenden Sie? Ich benutze diese http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA. Sie können die Compiler-Option folgendermaßen hinzufügen: Öffnen Sie "Projektstruktur" -> wählen Sie "Facetten" -> wählen Sie "Scala/Scala" -> ändern Sie "Zusätzliche Compiler-Optionen". Und es druckt auch keine bedeutungslosen Warnungen. – longhua

Antwort

20

In IntelliJ 14:

  1. Rufen Sie Präferenzen Intellij IDEA > Preferences oder cmd + ,
  2. Scala Compiler nachschlagen. Alternativ ist es unter Build, Execution, Deployment > Compiler > Scala Compiler
  3. Aktivieren Sie die Option für Deprecation warnings

Ihr Projekt neu!

Screenshot of preferences to enable deprecation flag.

+0

In Linux befindet sich dieses Formular unter Datei> Andere Einstellungen> Standardeinstellungen – CPS

5

JVM Parameter nicht Compiler Parameter ist - werden zuerst verwendet, um Ihren Code tatsächlich ausgeführt werden, später nur um es zu Bytecode kompiliert verwendet. Sie müssen Projekteinstellungen öffnen und anpassen Optionen gibt:

enter image description here

+3

Diese Lösung ist ab Intellij 14 veraltet. Es gibt keine Scala-Facetten mehr. – seanmcl

+2

Der neue Standort ist in [Katfangs Antwort] (http://stackoverflow.com/a/27932678/27358). –

+0

@JustDanyul bitte akzeptieren Sie die Antwort von katfang statt dieser –

6

ich einige Worte über Warnungen hinzufügen möchten und Fehler von IntelliJ IDEA berichtet.

JetBrains verwendet einen eigenen Scala Analyzer, um Fehler zu identifizieren und zu melden. Manchmal meldet es gefälschte Fehler oder Warnungen. Ich denke, das liegt daran, dass Scala eine viel kompliziertere Sprache ist, aus Sicht der Compiler, als viele andere Sprachen. Selbst wenn alle offiziellen Scala-Spezifikationen implementiert wurden, gibt es einige Fälle, die weggelassen wurden (lesen Sie: Es gibt immer einige Fehler). Wenn Sie etwas finden, das von Ihrer IntelliJ IDEa als Fehler/Warnung gemeldet wird, was für den Scalac-Compiler in Ordnung ist, können Sie immer versuchen, es als Fehler zu melden (IntelliJ IDEa unterstützt das Melden von Fehlern). Jungs von JetBrains werden es reparieren.

Mehr über einige Scala-Bibliotheken verwenden Makros, die Compiler-Erweiterungen sind, die etwas zusätzliches Compiler-Verhalten hinzufügen. Wenn die IDE ihre Spezifikation kannte, würde sie diese nicht standardmäßigen Codes nicht als Fehler identifizieren. Es ist besser, sich dessen bewusst zu sein. Ich denke, das gleiche berührt Eclipse Scala IDE.

alle oben zusammenfassend: Sie alle Warnungen und Fehler nicht darauf vertrauen, dass IntelliJ oder andere IDE Sie sagt, es sei denn es gut scalac mit kompiliert.