Scala-Klasse kann auf IntelliJ nicht erstellt werden


122

Ich fange gerade an, Scala zu lernen. Ich habe das Scala-Plugin für IntelliJ installiert und ein neues Scala-Projekt erstellt. Wenn ich jedoch mit der rechten Maustaste auf den Ordner src klicke, um eine neue Scala-Klasse zu erstellen, gibt es keine Möglichkeit dazu. Vermisse ich etwas


1
Haben Sie das Scala SDK angegeben? Es sollte funktionieren, wenn Sie das Projekt ordnungsgemäß eingerichtet und das SDK angegeben haben.
evan.oman

1
Ich habe versucht, das gleiche Problem zu replizieren, aber ich kann die Scala-Datei erstellen. Ich kann Ihnen eine Lösung vorschlagen: Erstellen Sie ein neues Projekt und wählen Sie in scala das sbt-Projekt aus und erstellen Sie dann in src.main eine neue scala-Datei. Ich hoffe, das hilft oder Sie können versuchen, die Einstellungen von Intellij zurückzusetzen.
Shiv4nsh

Wie @ evan058 sagte, ist es das SDK. Aus irgendeinem Grund wählt IntelliJ scala sdk manchmal nicht automatisch aus. Und wenn es nicht konfiguriert ist, passiert dies.
Niks

Eine andere Möglichkeit ist, dass Sie den falschen Pfad für Scala-Quellen verwenden. Sie sollten in src\main\scalaoder gehen src\test\scala. Wenn Sie sbtinstalliert haben, können Sie es in Ihrem Projektverzeichnis starten und den Befehl aufrufen. inspect scalaSourceEs zeigt Ihnen, wo sich die Scala-Quellen befinden müssen.
Haspemulator

Bitte beachten Sie die Kommentare in anderen Antworten. Ein Leerzeichen im Projekt könnte der Grund für diesen Fehler sein.
villancikos

Antworten:


261

Klicken Sie mit der rechten Maustaste auf Ihr Projekt, " Framework-Unterstützung hinzufügen ", und wählen Sie "Scala- Framework ". Klicken Sie dann mit der rechten Maustaste auf die Pakete, mit denen Sie die Scala-Klasse erstellen können.

Danach Rechtsklick auf src> Mark directory as> Sources Root.

Beides sollte Ihr Problem beheben!


7
Kann jetzt nur noch Scala-Skripte hinzufügen, aber keine Klassen?! Irgendwelche Ideen?
CS0815

7
Ich habe das gleiche Problem und ich sehe Scala Framework nicht im Menü Add Framework
Michael P

1
Schau genau hin. Scala-Klasse ist im ersten Abschnitt, aber Scala-Skript ist auch in der Liste
Alexandr

Auch dieser Schritt funktioniert NUR, wenn Sie Ihre korrekten PROXY-Einstellungen unter Datei> Einstellungen aktualisiert haben.
Nanosoft

1
Ich habe die Scala Plugns installiert, aber die Scala Framework Option ist nicht auf der linken Seite, nur Maven
Acmoune

107

Ich habe es herausgefunden, klicken Sie mit der rechten Maustaste auf src> Verzeichnis als> Quellenstamm markieren.

Versuchen Sie es jetzt erneut.


2
Toll! Die Kombination Ihrer Antwort und der Top-Antwort hat es geschafft!
Hzitoun

Ich musste sowohl dies als auch die Top-Antwort tun!
Jsleshem

1
Dies sollte oben sein.
Hunzter

22

Ich hatte gerade auch dieses Problem. Es stellte sich heraus, dass IntelliJ meinen src/main/scalaOrdner nicht als "Quell" -Ordner markiert hatte .

Dazu: Project Structure -> Modules ->Rechtsklick auf Ordner und Mark as "Source"(blau)

Ebenso wurde der src/main/testOrdner nicht als Testordner markiert. Ich konnte Scala-Klassen hinzufügen, nachdem diese Ordner entsprechend markiert waren.


Das ist richtig - obwohl ich es unten etwas anders (und schneller) gemacht habe.
user1761806

8

Ich hatte dieses Problem jedes Mal, wenn ich ein neues Projekt mit Leerzeichen im Namen erstellte. zB "Hell Wev". Die Verwendung von "HellWev" oder ähnlichem als Projektname scheint gut zu funktionieren


2
Ich hatte auch das Problem, einen Projektnamen mit einer Nummer zu starten. Nach dem Umbenennen hat alles gut funktioniert.
user3846506

Nur um mein Salzkorn hinzuzufügen. Ja, ein Leerzeichen im Projektordner erzeugt dieses Verhalten.
Villancikos

1
Hatte das gleiche Problem und der Kommentar von @ user3846506 war die Antwort für mich. Ich habe das Projekt ohne eine Nummer im Namen neu erstellt und der Scala-Ordner war blau statt grau, sobald das Projekt geöffnet wurde.
Shurikn

7

Klicken Sie mit der rechten Maustaste auf den Ordner Src Scala :)

Animation von Rechtsklick "Scala"


15
Das beschriebene Problem ist genau das, was Sie zeigen. Keine Scala-Klasse in diesem Menü. Diese Animation ist nicht hilfreich
Michael P

3
Die Animation zeigt, dass die Menüs kontextsensitiv sind. Wenn Sie mit der rechten Maustaste auf den Ordner "scala" klicken, können Sie "Scala Class" auswählen. Rechtsklick auf den Ordner "src" nicht.
Keith Pinson

Ist das also normal und alle Tutorials sind veraltet?
user1761806

@ user1761806 Ich habe noch nie eine Bewertung abgegeben, daher konnte ich Ihnen nicht sagen, ob Tutorials veraltet sind. Zu diesem Thema erwarte ich, dass diese Antwort zu kontextsensitiven Menüs nicht mehr aktuell ist, aber ab InteliJ 2017.2 ist die Animation immer noch illustrativ, obwohl sich die Benutzeroberfläche geändert hat.
Keith Pinson

2
Animation ist nicht hilfreich. Sie können definitiv Verzeichnisse wie / scala haben (und markieren, dass es Sources Root hat) und trotzdem wird die neue Scala-Klasse nicht angezeigt. Die richtige Antwort ist von @Majico
Kumar Vaibhav

5

In IDEA 2016.2.5

Aus einem neuen SBT- oder Scala-Projekt.

  • Öffnen Sie die Projektstruktur
  • Fügen Sie auf der Registerkarte Projekt Ihr JDK hinzu (sollte auch auf der Registerkarte SDKs sichtbar sein).
  • Fügen Sie unter Globale Bibliotheken das Scala SDK hinzu.

Das Hinzufügen zu Ihrem Build.SBT hat leider keinen Einfluss auf das IDE-Verhalten.


5

Aktivieren Sie in IntelliJ IDE 2019.1 Ultimate FRAMEWORK Scala wie folgt:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


Vielen Dank für die Hilfe :) Es hat bei mir für IntelliJ 2019
Rajiv Singh

Danke für die Antwort mit Images ... Es hat wie Charm funktioniert!
VIKAT

5

Ich hatte das gleiche Problem und habe mit der rechten Maustaste auf das Projekt geklickt ---> Dann wählen Sie Framework-Unterstützung hinzufügen -> In der linken Ecke wurde eine Liste mit Groovy, Kotlin, Maven und Scala aufgeführt .---> Aus der Liste wähle ich Scala, hatte aber immer noch ein Problem, weil das Librabry nicht angegeben wurde. Nach dem Herunterladen habe ich Scala ausgewählt und das Problem wurde behoben.


Danke dir. Es hat mir wirklich geholfen.
Thiago Melo vor

4

Gehen Sie zum Src-Ordner und wählen Sie Als Verzeichnis markieren. Wählen Sie dann die Option Quellstamm, die Ihr Problem beheben würde.


3

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"Ziel hinzufügen -> built.sbtDatei Dies funktioniert für IntelliJ IDEA 2017


Dies funktionierte für mich in IntelliJ IDEA 2018.3, außer dass ich die Versionsnummer in geändert habe 1.1.1.
Evan Knowles

2
  1. Neues Gradle-Projekt erstellt (Java)
  2. Fügen Sie das neue Modul "scala" in / src / main / und "Make Directory" als Quelle hinzu ...
  3. Abhängigkeiten zu build.gradle hinzugefügt:

    group 'example-scala'
    version '1.0-SNAPSHOT'
    
    apply plugin: 'java'
    apply plugin: 'scala'
    
    sourceCompatibility = 1.8
    
    repositories {
         mavenCentral()
    }
    
    dependencies {
       compile 'org.scala-lang:scala-library:2.12.6'
       testCompile 'org.scalatest:scalatest_2.11:3.0.5'
       testRuntime 'org.scala-lang.modules:scala-xml_2.11:1.0.6'
       testCompile group: 'junit', name: 'junit', version: '4.12'
    
    } 

2

In meinem Fall wurde mir nach Auswahl von Sources Root keine Scala-Klassenoption angezeigt. Dann wähle ich Generated Sources Root. Klicken Sie mit der rechten Maustaste auf src> Markiere Verzeichnis als> Generated Sources Root. Das hat bei mir funktioniert


1

Intellij nimmt die Abhängigkeiten standardmäßig manchmal nicht auf. Sie müssen ein separates sbt- oder maven-Projekt erstellen und es dann in Intellij importieren.

Wenn Sie ein Java Scala Mixin-Projekt erstellen möchten, können Sie diesem Blog-Beitrag folgen . Und dann importieren Sie es in Intellij.

Oder wenn Sie nur versuchen, Scala zu lernen.

Sie können diese Maven-basierte Scala-Starter-Vorlage herunterladen , in Intellij importieren und dann weiter daran arbeiten.

Hinweis: Möglicherweise müssen Sie die Quellen für das Modul in angeben

Projektstruktur -> Registerkarte Module


1
    You can add the scala maven plugin reference in the pom.xml as below 

 <build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaCompatVersion>2.11</scalaCompatVersion>
                    <scalaVersion>2.11.8</scalaVersion>
                </configuration>
            </plugin>
        </plugins>
    </build>

    Once you do this and build you will be able to see the option of the scala class.

1
Dieser wird funktionieren, wenn Sie ein Projekt mit dem Mavan-Framework erstellen, und im Fall von SBT müssen Sie die Datei
build.sbt

1
@ChicksPatel Ja, es würde funktionieren, wenn Sie ein Projekt nur mit Maven Framework erstellen. Da in der Frage kein spezifischer Rahmen erwähnt wurde, dachte ich, dass die Antwort jemandem helfen könnte.
Nikunj Kakadiya

1

Ich hatte auch das gleiche Problem: Die Optionen für die Scala-Datei waren im Intellij Idea-Editor nicht sichtbar, da das Scala SDK nicht installiert war. Sie können dieses Problem also nach der Installation von SDK für Scala beheben.


1
Sollte ein Kommentar sein
ausführbar

1

Die folgenden Schritte wurden für mich ausgeführt:

  • In scala Ihrer Intellij IDE ein Plugin hinzu. (Plugins können hinzugefügt werden, indem Sie zu Datei -> Einstellungen -> Plugins navigieren.)
  • Aktivieren Sie das Scala-Plugin
  • Starten Sie die IDE neu

0

Sie müssen nur die Option "Paket" anstelle der Option "Projekt" aus dem Dropdown-Menü direkt über Ihrem Projektnamen auswählen.



0

Ich hatte ein ähnliches Problem und habe es einfach gelöst, indem ich mit der rechten Maustaste auf src / main / scala geklickt habe. Sobald das Paket erstellt wurde, klicken Sie mit der rechten Maustaste auf das Paket und Sie sollten in der Lage sein, die Option für die Scala-Klasse zu finden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.