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 Answers
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.
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.
Now just click on the "Reload all sbt project" button.
This worked for me, I hope it will help someone.
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.
- Created new gradle project (java)
- Add new module "scala" into /src/main/ and "Make Directory" as source ...
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' }
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
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.
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
src\main\scala
orsrc\test\scala
. If you havesbt
installed, you can launch it in your project dir and invoke commandinspect scalaSource
, and it will show you where the Scala sources must be. – Haspemulator