无法在IntelliJ上创建Scala类


122

我才刚刚开始学习Scala。我已经为IntelliJ安装了Scala插件,并创建了一个新的Scala项目。但是,当我右键单击src文件夹以创建新的Scala类时,没有选择这样做。我想念什么吗?


1
您指定了Scala SDK吗?如果您正确设置项目并指定了SDK,它应该可以工作。
evan.oman

1
我尝试复制相同的问题,但是我得到了scala文件。我可以建议您解决一个问题:创建一个新项目,并在scala中选择sbt项目,然后在src.main内创建一个新的scala文件。希望对您有所帮助,或者您可以尝试重置intellij的设置。
Shiv4nsh

就像@ evan058所说的那样,它是SDK。由于某些原因,IntelliJ有时不会自动选择scala sdk。如果未配置,则会发生这种情况。
尼克斯,2016年

另一种可能性是您为Scala源使用了错误的路径。他们应该进入src\main\scalasrc\test\scala。如果已sbt安装,则可以在项目目录中启动它并调用command inspect scalaSource,它将显示Scala源代码必须位于的位置。
Haspemulator

请查看其他答案中的评论。项目中的空格可能是导致此错误的原因。
villancikos

Answers:


262

右键单击您的项目,“ 添加框架支持 ”,然后选择Scala框架,然后右键单击这些包,您可以创建Scala类。

在此之后,右键单击src> Mark directory as> Sources Root

两者都可以解决您的问题!


7
现在只能添加scala脚本,但不能添加类?有任何想法吗?
cs0815

7
我有同样的问题,但是在“添加框架”菜单中看不到Scala框架
Michael P

1
仔细地看。Scala类在第一部分中,但scala脚本也在列表中
Alexandr

同样,只有在“文件”>“设置”下更新了正确的“代理”设置后,此步骤才有效。
nanosoft

1
我已经安装了scala插件,但是Scala框架选项不在左侧,只有Maven
acmoune

107

我想通了,右键单击src>将目录标记为> Sources Root。

现在再试一次。


2
大!结合您的答案和最佳答案就可以了!
hzitoun

我必须同时做这个和最高答案!
Jsleshem

1
这应该是最高的。
hunzter

22

我也有这个问题。事实证明IntelliJ并未将我的src/main/scala文件夹标记为“源”文件夹。

为此:Project Structure -> Modules ->右键单击文件夹和Mark as "Source"(蓝色)

同样,该src/main/test文件夹也没有标记为测试文件夹。在那些文件夹被适当标记后,我能够添加scala类。


这是正确的-尽管我在下面做了一些稍微不同(更快)的操作。
user1761806

8

每当我创建一个名称中带有空格的新项目时,我都会遇到这个问题。例如“ Hell Wev”。使用“ HellWev”或类似名称作为项目名称似乎正常


2
在用数字开头项目名称时,我也遇到了这个问题。重命名后,一切正常。
user3846506

只是添加我的盐。是的,项目文件夹中的空格会创建此行为。
villancikos

1
遇到相同的问题,@ user3846506的评论对我来说是答案,我重新创建了该项目,但名称中没有数字,并且在项目打开后,scala文件夹就变成了蓝色而不是灰色。
Shurikn

7

右键单击Src Scala文件夹:)

右键单击“ Scala”的动画


15
所描述的问题正是您所显示的。该菜单中没有Scala类。这部动画是没有帮助的
迈克尔·P

3
动画演示了菜单是上下文相关的。右键单击“ scala”文件夹,可以选择“ Scala类”。右键单击“ src”文件夹没有。
基思·品森

那么,这是正常现象吗,所有教程都已过时?
user1761806

@ user1761806我从未审查过任何内容,因此无法告诉您任何教程是否过时。关于这个主题,我希望有关上下文相关菜单的答案会过时,但是从InteliJ 2017.2开始,即使UI发生了变化,动画仍具有说明性。
基思·品森

2
动画没有帮助。您绝对可以拥有/ scala之类的目录(并标记为具有Sources Root),但仍然不会显示New Scala类。正确答案是@Majico
Kumar Vaibhav

5

在IDEA 2016.2.5中

来自新的SBT或Scala项目。

  • 开放项目结构
  • 在“项目”选项卡上,添加您的JDK(在“ SDK”选项卡中也应可见)
  • 在“全局库”下,添加Scala SDK。

可悲的是,仅将其添加到构建中。SBT不会影响IDE行为。


5

在IntelliJ IDE 2019.1 Ultimate上,如下图所示启用FRAMEWORK Scala:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


感谢您的帮助:)它为我工作于IntelliJ 2019
Rajiv Singh

感谢您用图片的答案...它的工作原理就像魅力!
VIKAT

5

我遇到了同样的问题,我要做的是右键单击项目--->然后选择添加框架支持->在左上角有一个提到Groovy,Kotlin,Maven和Scala的列表。在列表中,我选择了Scala,但由于未指定库文件而仍然存在问题->单击“创建”,它要求我选择已安装2.11.12的版本,我选择了它并开始下载它。下载后,我选择了Scala,此问题已解决。


谢谢。它真的帮助了我。
Thiago Melo

4

转到Src文件夹,然后选择“标记为目录”,然后选择名为“ source root”的选项,这将解决您的问题。


3

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"在目标中添加 -> built.sbt文件,这适用于IntelliJ IDEA 2017


这在IntelliJ IDEA 2018.3中对我有用,但我将版本号更改为1.1.1
Evan Knowles

2
  1. 创建了新的gradle项目(java)
  2. 将新模块“ scala”添加到/ src / main /中,并将“ Make Directory”添加为源...
  3. 在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

在我的情况下,选择Sources Root后,它没有显示任何Scala类选项,然后我选择了Generated Sources Root,右键单击src>将目录标记为> Generated Sources Root。 这对我有用


1

默认情况下,Intellij有时不选择依赖项。您需要创建一个单独的sbt或maven项目,然后将其导入Intellij。

如果要创建Java Scala Mixin项目,可以关注此博客文章。然后将其导入Intellij。

或者,如果您只是想学习Scala。

您可以下载此基于Maven的Scala Starter模板,并将其导入intellij,然后继续进行处理。

注意:您可能必须在

项目结构->模块选项卡


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
当您使用mavan框架创建项目时,此方法将起作用,如果使用SBT,您需要添加build.sbt文件
Chetan Hirapara

1
@ChicksPatel是的,当您仅使用maven框架创建项目时,它将起作用。由于问题中未提及任何具体框架,因此我认为答案可能会对某人有所帮助。
Nikunj Kakadiya

1

我也遇到同样的问题,由于未安装Scala SDK,因此在intellij Idea编辑器中看不到scala文件选项。因此,在安装适用于Scala的SDK之后,您可以摆脱此问题。


1
应该是评论
可执行的

1

按照以下步骤为我解决:

  • scala插件添加到Intellij IDE。(可以通过导航到File-> settings-> plugins添加插件)
  • 启用scala插件
  • 重新启动IDE

0

您只需要从项目名称上方的下拉菜单中选择“包”而不是“项目”选项即可。



0

我有一个类似的问题,而我要做的只是通过右键单击src / main / scala创建一个程序包。创建软件包后,右键单击软件包,您应该能够找到scala类选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.