No se puede crear la clase Scala en IntelliJ


122

Estoy empezando a aprender Scala. Instalé el complemento Scala para IntelliJ y creé un nuevo proyecto Scala. Pero cuando hago clic con el botón derecho en la carpeta src para crear una nueva clase de Scala, no hay ninguna opción para hacerlo. ¿Me estoy perdiendo de algo?


1
¿Ha especificado el SDK de Scala? Debería funcionar si configuraste el proyecto correctamente y especificaste el SDK.
evan.oman

1
Intenté replicar el mismo problema, pero puedo crear el archivo scala. Puedo sugerirle una solución alternativa: haga un nuevo proyecto y en scala seleccione el proyecto sbt y luego dentro de src.main cree un nuevo archivo scala. Espero que ayude o puede intentar RESETEAR la configuración de intellij.
Shiv4nsh

Como dijo @ evan058, es el SDK. Por alguna razón, IntelliJ no selecciona scala sdk automáticamente a veces. Y si no está configurado, esto sucede.
Niks

Otra posibilidad es que esté utilizando la ruta incorrecta para las fuentes de Scala. Deberían entrar en src\main\scalao src\test\scala. Si lo ha sbtinstalado, puede ejecutarlo en el directorio de su proyecto e invocar el comando inspect scalaSource, y le mostrará dónde deben estar las fuentes de Scala.
Haspemulator

Consulte los comentarios dentro de otras respuestas. Un espacio en el proyecto podría ser la causa de este error.
villancikos

Respuestas:


262

Haga clic derecho en su proyecto, " Agregar soporte de Framework " y seleccione Scala framework, luego haga clic derecho en los paquetes que puede crear Scala Class.

Después de esto, haga clic derecho en src > Mark directory as>Sources Root .

¡Hacer ambos debería solucionar su problema!


7
¿Solo se pueden agregar scripts scala ahora pero no clases? ¿Algunas ideas?
cs0815

7
Tengo el mismo problema y no veo Scala Framework en el menú Agregar marco
Michael P

1
Mira cuidadosamente. La clase Scala está en la primera sección, pero el script scala también está en la lista
Alexandr

Además, este paso SOLO funcionará si ha actualizado la configuración correcta de PROXY en Archivo> Configuración.
nanosoft

1
Tengo los plugns de Scala instalados, pero la opción de marco de Scala no está a la izquierda, solo Maven
acmoune

107

Lo descubrí, haga clic derecho en src> Marcar directorio como> Raíz de fuentes.

Ahora inténtelo de nuevo.


2
¡Excelente! ¡Combinando tu respuesta y la respuesta principal funcionó!
hzitoun

¡Tenía que hacer tanto esto como la respuesta principal!
Jsleshem

1
Esto debería ser superior.
hunzter

22

También tuve este problema. Resultó que IntelliJ no había marcado mi src/main/scalacarpeta como carpeta de "origen".

Para hacer esto: Project Structure -> Modules ->haga clic derecho en la carpeta y Mark as "Source"(azul)

Del mismo modo, la src/main/testcarpeta no se marcó como carpeta de prueba. Pude agregar clases de Scala después de que esas carpetas se marcaron adecuadamente.


Esto es correcto, aunque lo hice de una manera ligeramente diferente (y más rápida) a continuación.
user1761806

8

Tenía este problema cada vez que creaba un nuevo proyecto con espacios en el nombre. por ejemplo, "Hell Wev". El uso de "HellWev" o similar como nombre de proyecto parece funcionar bien


2
También tuve este problema al iniciar un nombre de proyecto con un número. Después de cambiar el nombre, todo funcionó bien.
user3846506

Solo para agregar mi granito de sal. Sí, un espacio en la carpeta del proyecto crea este comportamiento.
villancikos

1
Tuve el mismo problema y el comentario de @ user3846506 fue la respuesta para mí, recreé el proyecto sin un número en el nombre y la carpeta scala era azul en lugar de gris tan pronto como se abrió el proyecto.
Shurikn,

7

Haga clic derecho en la carpeta Src Scala :)

Animación de clic derecho en "Scala"


15
El problema descrito es exactamente lo que está mostrando. No hay Scala Class en ese menú. Esta animación no es útil
Michael P

3
La animación demuestra que los menús son sensibles al contexto. Haciendo clic derecho en la carpeta "scala" ofrece la opción de seleccionar "Clase Scala"; hacer clic derecho en la carpeta "src" no lo hace.
Keith Pinson

Entonces, ¿este comportamiento es normal y todos los tutoriales están desactualizados?
user1761806

@ user1761806 Nunca he revisado ninguno, así que no podría decirte si algún tutorial está desactualizado. Sobre ese tema, espero que esta respuesta sobre menús sensibles al contexto quede desactualizada, pero a partir de InteliJ 2017.2 la animación sigue siendo ilustrativa a pesar de que la interfaz de usuario ha cambiado.
Keith Pinson

2
La animación no es útil. Definitivamente puede tener directorios como / scala (y marcar que tiene raíz de fuentes) y aún así, la nueva clase de Scala no aparecerá. La respuesta correcta es de @Majico
Kumar Vaibhav

5

En IDEA 2016.2.5

Desde un nuevo proyecto SBT o Scala.

  • Estructura de proyecto abierta
  • En la pestaña Proyecto, agregue su JDK (también debería estar visible en la pestaña SDK)
  • En Bibliotecas globales, agregue Scala SDK.

Lamentablemente, solo agregar esto a su build.SBT no afecta el comportamiento del IDE.


5

En IntelliJ IDE 2019.1 Ultimate, habilite FRAMEWORK Scala como estas pantallas:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


Gracias por la ayuda :) Me funcionó para IntelliJ 2019
Rajiv Singh

Gracias por la respuesta con Imágenes ... ¡Funcionó como Charm!
VIKAT

5

Tuve el mismo problema y lo que hice fue hacer clic derecho en el proyecto ---> Luego elegir Agregar soporte de marco -> En la esquina izquierda había una lista mencionada de Groovy, Kotlin, Maven y Scala .---> De la lista, elijo Scala pero aún tuve problemas porque no se especificó la biblioteca ---> Hice clic en Crear y me pidió que eligiera la versión ya que había instalado 2.11.12, la elegí y comenzó a descargarla. Una vez que se descargó, seleccioné Scala y el problema se solucionó.


Gracias. Realmente me ayudó.
Thiago Melo

4

Vaya a la carpeta Src y elija Marcar como directorio, luego elija la opción llamada raíz de origen, que solucionaría su problema.


3

agregar libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"en el objetivo -> built.sbtarchivo esto funciona para IntelliJ IDEA 2017


Esto funcionó para mí en IntelliJ IDEA 2018.3, excepto que cambié el número de versión a 1.1.1.
Evan Knowles

2
  1. Se creó un nuevo proyecto gradle (java)
  2. Agregue el nuevo módulo "scala" en / src / main / y "Make Directory" como fuente ...
  3. agregadas dependencias en 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

En mi caso, después de seleccionar Raíz de fuentes, no me mostró ninguna opción de Clase Scala, luego elijo Raíz de fuentes generadas, haga clic con el botón derecho en src> Marcar directorio como> Raíz de fuentes generadas. Esto funcionó para mi


1

Intellij por defecto no recoge las dependencias a veces. Deberá crear un proyecto sbt o maven separado y luego importarlo a Intellij.

Si desea crear un proyecto Java Scala Mixin, puede seguir esta publicación de blog . Y luego importarlo en Intellij.

O si solo estás tratando de aprender Scala.

Puede descargar esta plantilla de inicio de Scala basada en maven e importarla en intellij y luego continuar trabajando en ella.

Nota: Es posible que deba especificar las fuentes del módulo en el

Estructura del proyecto -> pestaña Módulos


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
Este funcionará cuando esté creando un proyecto con el marco mavan, y en el caso de SBT, debe agregar el archivo build.sbt
Chetan Hirapara

1
@ChicksPatel Sí, funcionaría cuando está creando un proyecto solo con el marco maven. Como no se mencionó un marco específico en la pregunta, pensé que la respuesta podría ayudar a alguien.
Nikunj Kakadiya

1

También enfrenté el mismo problema, las opciones del archivo scala no estaban visibles en el editor de intellij Idea porque Scala SDK no estaba instalado. Así que se deshace de este problema después de instalar SDK para Scala.


1
Debería ser un comentario
ejecutable el

1

Siguiendo los pasos a continuación resueltos para mí:

  • Agregar scala complemento a su Intellij IDE (los complementos se pueden agregar navegando a Archivo -> configuración -> complementos)
  • Habilitar el complemento scala
  • Reiniciar IDE

0

Solo necesita seleccionar la opción 'Paquete' en lugar de 'Proyecto' en el menú desplegable justo encima del nombre de su proyecto.



0

Tuve un problema similar y lo que hice para resolverlo fue crear un paquete haciendo clic derecho en src / main / scala. Una vez creado el paquete, haga clic derecho en el paquete y debería poder encontrar la opción de clase scala.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.