Impossible de créer la classe Scala sur IntelliJ

122

Je commence tout juste à apprendre Scala. J'ai installé le plugin Scala pour IntelliJ et créé un nouveau projet Scala. Mais lorsque je clique avec le bouton droit sur le dossier src pour créer une nouvelle classe Scala, il n'y a aucune option pour le faire. Est-ce que je manque quelque chose?

Saurav Sircar
la source
1
Avez-vous spécifié le SDK Scala? Cela devrait fonctionner si vous avez correctement configuré le projet et spécifié le SDK.
evan.oman
1
J'ai essayé de reproduire le même problème mais je parviens à créer le fichier scala. Je peux vous suggérer une solution: créer un nouveau projet et dans scala, sélectionnez le projet sbt, puis dans le src.main, créez un nouveau fichier scala. J'espère que cela aide ou vous pouvez essayer de RÉINITIALISER les paramètres d'intellij.
Shiv4nsh
Comme @ evan058 l'a dit, c'est le SDK. Pour une raison quelconque, IntelliJ ne sélectionne parfois pas automatiquement scala sdk. Et s'il n'est pas configuré, cela se produit.
Niks
Une autre possibilité est que vous utilisez le mauvais chemin pour les sources Scala. Ils devraient entrer dans src\main\scalaou src\test\scala. Si vous l'avez sbtinstallé, vous pouvez le lancer dans le répertoire de votre projet et appeler la commande inspect scalaSource, et il vous montrera où les sources Scala doivent être.
Haspemulator
Veuillez consulter les commentaires dans les autres réponses. Un espace dans le projet pourrait être la raison de cette erreur.
villancikos

Réponses:

262

Faites un clic droit sur votre projet, " Add Framework support " et choisissez Scala framework, puis par un clic droit sur les packages vous pouvez créer Scala Class.

Après cela, cliquez droit sur src> Mark directory as> Sources Root.

Faire les deux devrait résoudre votre problème!

Majico
la source
7
Vous ne pouvez ajouter que des scripts scala maintenant mais pas de classes?! Des idées?
cs0815
7
J'ai le même problème et je ne vois pas Scala Framework dans le menu Add Framework
Michael P
1
Regarde attentivement. La classe Scala est dans la première section, mais le script scala est également dans la liste
Alexandr
De plus, cette étape fonctionnera UNIQUEMENT si vous avez mis à jour vos paramètres PROXY corrects sous Fichier> Paramètres.
nanosoft
1
J'ai les plugins scala installés, mais l'option du framework Scala n'est pas sur la gauche, seulement Maven
acmoune
107

Je l'ai compris, faites un clic droit sur src> Marquer le répertoire comme> Source Root.

Maintenant réessayez.

user1761806
la source
2
Génial! Combiner votre réponse et la meilleure réponse a fait l'affaire!
hzitoun
Je devais faire à la fois ceci et la meilleure réponse!
Jsleshem
1
Cela devrait être top.
hunzter le
22

J'ai juste eu ce problème, aussi. Il s'est avéré qu'IntelliJ n'avait pas marqué mon src/main/scaladossier comme dossier «source».

Pour ce faire: faites Project Structure -> Modules ->un clic droit sur le dossier et Mark as "Source"(bleu)

De même, le src/main/testdossier n'a pas été marqué comme dossier de test. J'ai pu ajouter des classes scala après que ces dossiers aient été correctement marqués.

Mike Pors
la source
C'est correct - même si je l'ai fait d'une manière légèrement différente (et plus rapide) ci-dessous.
user1761806
8

J'ai eu ce problème à chaque fois que j'ai créé un nouveau projet avec des espaces dans le nom. par exemple "Hell Wev". L'utilisation de "HellWev" ou similaire comme nom de projet semble fonctionner correctement

cwadeevans
la source
2
J'ai également eu ce problème en démarrant un nom de projet avec un numéro. Après avoir renommé, tout a bien fonctionné.
user3846506
Juste pour ajouter mon grain de sel. Oui, un espace dans le dossier du projet crée ce comportement.
villancikos
1
J'ai eu le même problème et le commentaire de @ user3846506 était la réponse pour moi, j'ai recréé le projet sans numéro dans le nom et le dossier scala était bleu au lieu de gris dès que le projet s'est ouvert.
Shurikn
7

Faites un clic droit sur le dossier Src Scala :)

Animation du clic droit "Scala"

Keith Pinson
la source
15
Le problème décrit est exactement ce que vous montrez. Pas de classe Scala dans ce menu. Cette animation n'est pas utile
Michael P
3
L'animation montre que les menus sont sensibles au contexte. Un clic droit sur le dossier "scala" offre la possibilité de sélectionner "Scala Class"; un clic droit sur le dossier "src" ne le fait pas.
Keith Pinson
Alors, est-ce que ce comportement est normal et tous les tutoriels sont obsolètes?
user1761806
@ user1761806 Je n'en ai jamais revu, donc je ne pourrais pas vous dire si des tutoriels sont obsolètes. À ce sujet, je m'attends à ce que cette réponse sur les menus contextuels devienne obsolète, mais à partir d'InteliJ 2017.2, l'animation est toujours illustrative même si l'interface utilisateur a changé.
Keith Pinson
2
L'animation n'est pas utile. Vous pouvez certainement avoir des répertoires comme / scala (et marquer qu'il a Source Root) et la nouvelle classe Scala n'apparaîtra toujours pas. La bonne réponse est de @Majico
Kumar Vaibhav
5

Dans IDEA 2016.2.5

À partir d'un nouveau projet SBT ou Scala.

  • Structure de projet ouverte
  • Dans l'onglet Projet, ajoutez votre JDK (devrait également être visible dans l'onglet SDK)
  • Sous Bibliothèques globales, ajoutez le SDK Scala.

Malheureusement, le simple fait d'ajouter ceci à votre build.SBT n'a pas d'impact sur le comportement de l'EDI.

Eric Aldinger
la source
5

Sur IntelliJ IDE 2019.1 Ultimate, activez FRAMEWORK Scala comme ces écrans:

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Claudio
la source
Merci pour l'aide :) Cela a fonctionné pour moi pour IntelliJ 2019
Rajiv Singh
Merci pour la réponse avec Images ... Cela a fonctionné comme du charme!
VIKAT
5

J'ai eu le même problème et ce que j'ai fait est un clic droit sur le projet ---> Ensuite, choisissez Ajouter le support du framework -> Dans le coin gauche, il y avait une liste mentionnée de Groovy, Kotlin, Maven et Scala .---> Dans la liste, j'ai choisi Scala mais j'avais toujours un problème car la librabry n'était pas spécifiée ---> J'ai cliqué sur Créer et il m'a demandé de choisir la version comme j'avais installé 2.11.12, je l'ai choisie et elle a commencé à la télécharger. Une fois téléchargé, j'ai sélectionné Scala et le problème a été résolu.

Christina Sebastian
la source
Je vous remercie. Cela m'a vraiment aidé.
Thiago Melo
4

Allez dans le dossier Src et choisissez Marquer comme répertoire, puis choisissez l'option appelée racine source, qui résoudrait votre problème.

svk 041994
la source
3

ajouter libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"dans la cible -> built.sbtfichier cela fonctionne pour IntelliJ IDEA 2017

technicien95
la source
Cela a fonctionné pour moi dans IntelliJ IDEA 2018.3, sauf que j'ai changé le numéro de version en 1.1.1.
Evan Knowles
2
  1. Création d'un nouveau projet Gradle (java)
  2. Ajouter un nouveau module "scala" dans / src / main / et "Make Directory" comme source ...
  3. ajout de dépendances dans build.gradle:

    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'
    
    } 
AlexPes
la source
2

Dans mon cas, après avoir sélectionné la racine des sources, aucune option de classe Scala ne m'a été affichée, puis j'ai choisi la racine des sources générées, un clic droit sur src> Marquer le répertoire comme> la racine des sources générées. Cela a fonctionné pour moi

GANESH CHOKHARE
la source
1

Intellij par défaut ne récupère pas les dépendances à certains moments. Vous devrez créer un projet sbt ou maven séparé, puis l'importer dans Intellij.

Si vous souhaitez créer un projet Java Scala Mixin, vous pouvez suivre ce billet de blog . Et puis importez-le dans Intellij.

Ou si vous essayez simplement d'apprendre Scala.

Vous pouvez télécharger ce modèle de démarrage Scala basé sur maven et l'importer dans intellij, puis continuer à travailler dessus.

Remarque: vous devrez peut-être spécifier les sources du module dans le

Structure du projet -> Onglet Modules

Vishnu667
la source
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.
Nikunj Kakadiya
la source
1
Celui-ci fonctionnera lorsque vous créez un projet avec le framework mavan, et dans le cas de SBT, vous avez ajouté le fichier build.sbt
Chetan Hirapara
1
@ChicksPatel Oui, cela fonctionnerait lorsque vous créez un projet avec le framework maven uniquement. Comme aucun cadre spécifique n'était mentionné dans la question, j'ai pensé que la réponse pourrait aider quelqu'un.
Nikunj Kakadiya
1

J'ai également rencontré le même problème, les options du fichier scala n'étaient pas visibles dans l'éditeur intellij Idea car le SDK Scala n'était pas installé. Vous vous débarrassez donc de ce problème après avoir installé le SDK pour Scala.

Vishnu Kant Tripathi
la source
1
Devrait être un commentaire
exécutable
1

En suivant les étapes ci-dessous résolues pour moi:

  • Ajoutez le plugin scala à votre IDE Intellij. (Les plugins peuvent être ajoutés en accédant à File -> settings -> plugins)
  • Activer le plugin scala
  • Redémarrez l'IDE
saikumar18
la source
0

Il vous suffit de sélectionner l'option "Package" au lieu de "Projet" dans le menu déroulant juste au-dessus du nom de votre projet.

Néant
la source
0

J'ai rencontré ce problème lorsque le dossier n'était pas correctement marqué comme dossier source (symbole de dossier bleu). Si tel est le cas, cliquez simplement avec le bouton droit de la souris sur l'ensemble du projet et choisissez Ouvrir les paramètres du module où vous pouvez ensuite marquer le dossier respectif comme source: Paramètres du module où vous pouvez sélectionner src comme dossier source

Susie
la source
0

J'ai eu un problème similaire et ce que j'ai fait pour résoudre est simplement de créer un package en faisant un clic droit sur src / main / scala. Une fois le package créé, cliquez avec le bouton droit sur le package et vous devriez pouvoir trouver l'option de classe scala.

Waseem Hawaldar
la source