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.