138
votes

I'm just starting to learn Scala. I have installed the Scala plugin for IntelliJ, and created a new Scala project. But when I right-click on the src folder to make a new Scala class, there is no option to do so. Am I missing something?

21
Have you specified the Scala SDK? It should work if you set up the project properly and specified the SDK.evan.oman
I tried replicating the same issue but I get to make the scala file. I can suggest you a work around : Make a new Project and in scala select the sbt project and then inside the src.main make a new scala file. I hope that helps or you can try RESET the settings of intellij.Shiv4nsh
Like @evan058 said, it's the SDK. For some reason, IntelliJ does not pick scala sdk automatically sometimes. And if it's not configured, this happens.Niks
Another possibility is that you're using the wrong path for Scala sources. They should go into src\main\scala or src\test\scala. If you have sbt installed, you can launch it in your project dir and invoke command inspect scalaSource, and it will show you where the Scala sources must be.Haspemulator
Please see the comments inside other answers. A space in the project could be the reason of this error.villancikos

21 Answers

288
votes

Right click on your project, "Add Framework support" and choose Scala framework, then by right click on the packages you can create Scala Class.

After this, right click on src > Mark directory as > Sources Root.

Doing both of these should fix your problem!

117
votes

I figured it out, right click on src > Mark directory as > Sources Root.

Now try again.

23
votes

I just had this issue, also. It turned out that IntelliJ hadn't marked my src/main/scala folder as a "source" folder.

To do this: Project Structure -> Modules -> right click folder and Mark as "Source" (blue)

Similarly the src/main/test folder wasn't marked as a test folder. I was able to add scala classes after those folders were appropriately marked.

9
votes

Right Click on the SrcScala folder :)

Animation of right-clicking "Scala"

8
votes

I had this problem everytime I created a new project with spaces in the name. eg "Hell Wev". Using "HellWev" or similar as a project name seems to work fine

8
votes

I had the same problem when I created my first Scala project and I was able to solve it in a simpler way. Click on the "Search everywhere" button and type "sbt", or click directly on the "sbt" button located on the right near the edge of the screen.

sbt button

Now just click on the "Reload all sbt project" button.

reload all sbt project button

This worked for me, I hope it will help someone.

6
votes

In IDEA 2016.2.5

From a new SBT or Scala project.

  • Open Project Structure
  • On the Project tab add your JDK (should also be visible in SDKs tab)
  • Under Global Libraries add Scala SDK.

Sadly just adding this to your build.SBT does not impact the IDE behavior.

6
votes

On IntelliJ IDE 2019.1 Ultimate, enable FRAMEWORK Scala like this screens:

enter image description here

enter image description here

enter image description here

6
votes

I had the same problem and what I did is Right Clicked on the Project ---> Then Choose Add Framework Support--> In the Left hand corner there was a list mentioned of Groovy, Kotlin, Maven and Scala.---> From the List I choose Scala but still had issue because the librabry was not specified--->Clicked on Create and it asked me to choose the version as I had Installed 2.11.12, i choose it and it started downloading it. Once it was downloaded I selected Scala and the issue was fixed.

4
votes

Go to Src folder and choose Mark as Directory then choose the option called source root, that would fix your problem.

3
votes

add libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50" in target -> built.sbt file this works for IntelliJ IDEA 2017

3
votes

In my case after selecting Sources Root it not shown me any Scala Class option then I choose Generated Sources Root, right click on src > Mark directory as > Generated Sources Root. This worked for me

2
votes
  1. Created new gradle project (java)
  2. Add new module "scala" into /src/main/ and "Make Directory" as source ...
  3. added dependencies into 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'
    
    } 
    
1
votes

Intellij by default doesn't pick up the dependencies at times. You'll need to create a seperate sbt or maven project and then import it to Intellij.

If you want to create a Java Scala Mixin project you can follow this blog post. And then import it in Intellij.

Or if your just trying to learn Scala.

You can download this maven based Scala Starter Template and import it in intellij and then continuing working on it.

Note : You might have to specify the sources for the module in the

Project Structure -> Modules Tab

1
votes
    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
votes

I also faced same issue, the scala file options were not not visible in intellij Idea editor because Scala SDK was not installed. So you get rid of this issue after installing SDK for Scala.

1
votes

Following the below steps resolved for me:

  • Add scala plugin to your Intellij IDE.(Plugins can be added by navigating to File -> settings -> plugins)
  • Enable scala plugin
  • Restart IDE
0
votes

You just need to select the 'Package' instead of 'Project' option from the drop-down menu just above your project name.

0
votes

I experienced this behavior when the folder was not correctly marked as a source folder (blue folder symbol). If that is the case, simply right-click on the whole project and choose Open Module Settings where you can then mark the respective folder as source: Module settings where you may select src as Source folder

0
votes

I had a similar problem and what I did to resolve is just create a package by right clicking on src/main/scala. Once package is created, right click on package and you should be able to find scala class option.

0
votes

In case someone else is having the same problem and the above didn't work, what worked for me was to:

  • Close IntelliJ
  • Delete the .idea folder
  • Open the project