Não é possível criar classe Scala no IntelliJ


122

Estou apenas começando a aprender Scala. Instalei o plugin Scala para IntelliJ e criei um novo projeto Scala. Mas quando clico com o botão direito do mouse na pasta src para criar uma nova classe Scala, não há opção para fazer isso. Estou esquecendo de algo?


1
Você especificou o Scala SDK? Deve funcionar se você configurar o projeto corretamente e especificar o SDK.
evan.oman

1
Tentei replicar o mesmo problema, mas consigo fazer o arquivo scala. Posso sugerir uma solução alternativa: Faça um novo projeto e no scala selecione o projeto sbt e depois dentro de src.main crie um novo arquivo scala. Espero que ajude ou você pode tentar RESET as configurações do intellij.
Shiv4nsh

Como @ evan058 disse, é o SDK. Por alguma razão, o IntelliJ não escolhe o scala sdk automaticamente às vezes. E se não estiver configurado, isso acontece.
Niks

Outra possibilidade é que você esteja usando o caminho errado para fontes Scala. Eles devem entrar em src\main\scalaou src\test\scala. Se você sbtinstalou, você pode iniciá-lo em seu diretório de projeto e invocar o comando inspect scalaSource, e ele irá mostrar onde as fontes Scala devem estar.
Haspemulator

Por favor, veja os comentários dentro de outras respostas. Um espaço no projeto pode ser o motivo desse erro.
villancikos

Respostas:


262

Clique com o botão direito do mouse em seu projeto, " Adicionar suporte ao Framework " e escolha o framework Scala, em seguida, clique com o botão direito nos pacotes para criar uma classe Scala.

Depois disso, clique direito em src> Mark directory as> Sources Root.

Fazer os dois deve resolver o seu problema!


7
Só é possível adicionar scripts de scala agora, mas nenhuma classe ?! Alguma ideia?
cs0815 de

7
Tenho o mesmo problema e não vejo Scala Framework no menu Add Framework
Michael P

1
Olhe atentamente. A aula de Scala está na primeira seção, mas o script de scala também está na lista
Alexandr

Além disso, esta etapa SÓ funcionará se você tiver atualizado as configurações corretas do PROXY em Arquivo> Configurações.
nanosoft

1
Tenho os
plug

107

Eu descobri isso, clique com o botão direito em src> Marcar diretório como> Sources Root.

Agora tente novamente.


2
Ótimo! Combinar sua resposta e a primeira resposta resolveu o problema!
hzitoun

Eu tive que fazer isso e a resposta principal!
Jsleshem de

1
Isso deve ser o melhor.
hunzter

22

Eu também tive esse problema. Acontece que o IntelliJ não marcou minha src/main/scalapasta como uma pasta de "origem".

Para fazer isso: Project Structure -> Modules ->clique com o botão direito na pasta e Mark as "Source"(azul)

Da mesma forma, a src/main/testpasta não foi marcada como uma pasta de teste. Consegui adicionar classes de scala depois que essas pastas foram devidamente marcadas.


Isso está correto - embora eu tenha feito isso de uma maneira ligeiramente diferente (e mais rápida) abaixo.
user1761806

8

Eu tinha esse problema toda vez que criava um novo projeto com espaços no nome. por exemplo, "Hell Wev". Usar "HellWev" ou similar como nome de projeto parece funcionar bem


2
Eu também tive esse problema ao iniciar um nome de projeto com um número. Depois de renomear, tudo funcionou bem.
user3846506

Só para adicionar meu grão de sal. Sim, um espaço na pasta do projeto cria esse comportamento.
villancikos

1
Tive o mesmo problema e o comentário de @ user3846506 foi a resposta para mim, recriei o projeto sem um número no nome e a pasta scala estava azul em vez de cinza assim que o projeto foi aberto.
Shurikn de

7

Clique com o botão direito na pasta Src Scala :)

Animação do botão direito do mouse em "Scala"


15
O problema descrito é exatamente o que você está mostrando. Nenhuma classe Scala nesse menu. Esta animação não é útil
Michael P

3
A animação demonstra que os menus são sensíveis ao contexto. Clicar com o botão direito na pasta "scala" oferece a opção de selecionar "Aula Scala"; clicar com o botão direito na pasta "src" não.
Keith Pinson

Então, isso é normal e todos os tutoriais estão desatualizados?
user1761806

@ user1761806 Nunca revisei nenhum, então não posso dizer se algum tutorial está desatualizado. Sobre esse assunto, espero que esta resposta sobre menus contextuais fique desatualizada, mas a partir do InteliJ 2017.2 a animação ainda é ilustrativa, embora a IU tenha mudado.
Keith Pinson

2
A animação não ajuda. Você pode definitivamente ter diretórios como / scala (e marcar como Sources Root) e ainda assim a Nova classe Scala não aparecerá. A resposta correta é por @Majico
Kumar Vaibhav

5

Em IDEA 2016.2.5

De um novo projeto SBT ou Scala.

  • Estrutura do Projeto Aberto
  • Na guia Projeto, adicione seu JDK (também deve estar visível na guia SDKs)
  • Em Bibliotecas globais, adicione Scala SDK.

Infelizmente, apenas adicionar isso ao seu build.SBT não afeta o comportamento do IDE.


5

No IntelliJ IDE 2019.1 Ultimate, ative o FRAMEWORK Scala como estas telas:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui


Obrigado pela ajuda :) Funcionou para mim no IntelliJ 2019
Rajiv Singh

Obrigado pela resposta com Imagens ... Funcionou como Charm!
VIKAT

5

Eu tive o mesmo problema e o que fiz foi clicar com o botão direito no projeto ---> Em seguida, escolha Adicionar suporte de framework -> No canto esquerdo havia uma lista mencionada de Groovy, Kotlin, Maven e Scala .---> Na lista eu escolhi Scala, mas ainda tinha problemas porque a biblioteca não foi especificada ---> Cliquei em Criar e ele me pediu para escolher a versão como eu tinha instalado 2.11.12, eu escolhi e comecei a baixar. Depois de fazer o download, selecionei Scala e o problema foi corrigido.


Obrigado. Isso realmente me ajudou.
Thiago Melo

4

Vá para a pasta Src e escolha Marcar como Diretório, em seguida, escolha a opção chamada raiz de origem, que resolveria o seu problema.


3

adicionar libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"alvo -> built.sbtarquivo isso funciona para IntelliJ IDEA 2017


Isso funcionou para mim no IntelliJ IDEA 2018.3, exceto que alterei o número da versão para 1.1.1.
Evan Knowles

2
  1. Novo projeto gradle criado (java)
  2. Adicionar novo módulo "scala" em / src / main / e "Criar diretório" como fonte ...
  3. adicionadas dependências em 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

No meu caso, depois de selecionar Sources Root não me mostrou nenhuma opção de classe Scala, então eu escolho Generated Sources Root, clique com o botão direito em src> Marcar diretório como> Generated Sources Root. Isso funcionou para mim


1

O Intellij, por padrão, às vezes não pega as dependências. Você precisará criar um projeto sbt ou maven separado e importá-lo para o Intellij.

Se você deseja criar um projeto Java Scala Mixin, siga esta postagem do blog . E, em seguida, importe-o no Intellij.

Ou se você está apenas tentando aprender Scala.

Você pode baixar este modelo Scala Starter baseado em maven e importá-lo para o intellij e depois continuar trabalhando nele.

Nota: Você pode ter que especificar as fontes para o módulo no

Estrutura do Projeto -> Guia 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á quando você estiver criando um projeto com o framework Mavan, e no caso do SBT você adicionou o arquivo build.sbt
Chetan Hirapara

1
@ChicksPatel Sim, funcionaria quando você estiver criando um projeto apenas com o framework maven. Como nenhuma estrutura específica foi mencionada na pergunta, pensei que a resposta poderia ajudar alguém.
Nikunj Kakadiya

1

Também enfrentei o mesmo problema, as opções do arquivo scala não eram visíveis no editor Intellij Idea porque Scala SDK não estava instalado. Portanto, você se livra desse problema depois de instalar o SDK para Scala.


1
Deve ser um comentário
executável em

1

Seguindo as etapas abaixo resolvidas para mim:

  • Adicionar escala plug-in ao IDE Intellij. (Os plug-ins podem ser adicionados navegando em Arquivo -> configurações -> plug-ins)
  • Habilitar plugin scala
  • Reiniciar IDE

0

Você só precisa selecionar a opção 'Pacote' em vez de 'Projeto' no menu suspenso logo acima do nome do projeto.



0

Tive um problema semelhante e o que fiz para resolver é apenas criar um pacote clicando com o botão direito do mouse em src / main / scala. Assim que o pacote for criado, clique com o botão direito do mouse no pacote e você deverá encontrar a opção de classe scala.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.