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?


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!


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.


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.


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


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"


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.


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


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.


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.


3

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


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'
    
    } 

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


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


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
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.


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

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.



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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.