IntelliJ'de Scala sınıfı oluşturulamıyor


123

Scala öğrenmeye yeni başlıyorum. IntelliJ için Scala eklentisini kurdum ve yeni bir Scala projesi oluşturdum. Ancak yeni bir Scala sınıfı oluşturmak için src klasörünü sağ tıkladığımda, bunu yapma seçeneği yok. Bir şey mi kaçırıyorum?


1
Scala SDK'yı belirlediniz mi? Projeyi doğru bir şekilde kurduysanız ve SDK'yı belirlediyseniz çalışmalıdır.
evan.oman

1
Aynı sorunu tekrarlamayı denedim ama scala dosyasını oluşturmaya başladım. Size bir çalışma önerebilirim: Yeni bir Proje yapın ve ölçeklendirmede sbt projesini seçin ve ardından src.main içinde yeni bir scala dosyası oluşturun. Umarım bu yardımcı olur veya intellij'in ayarlarını SIFIRLA deneyebilirsiniz.
Shiv4nsh

@ Evan058'in dediği gibi, bu SDK'dır. Bazı nedenlerden dolayı, IntelliJ bazen scala sdk'yi otomatik olarak seçmez. Ve yapılandırılmamışsa, bu olur.
Niks

Başka bir olasılık, Scala kaynakları için yanlış yolu kullanıyor olmanızdır. src\main\scalaVeya içine girmeleri gerekir src\test\scala. Eğer varsa sbtkurulu, proje dir ve komuta çağırmak başlatabilirsiniz inspect scalaSource, ve Scala kaynakları olmalıdır nerede gösterecektir.
Haspemulator

Lütfen diğer cevapların içindeki yorumlara bakınız. Projedeki bir boşluk bu hatanın nedeni olabilir.
villancikos

Yanıtlar:


263

Projenize sağ tıklayın, " Çerçeve desteği ekle ve Scala çerçevesini seçin, ardından paketlere sağ tıklayarak Scala Sınıfı oluşturabilirsiniz.

Bundan sonra, sağ tıklayın src> Mark directory as>Sources Root .

Bunların ikisini birden yapmak sorununuzu çözmelidir!


7
Artık yalnızca scala betikleri eklenebilir, ancak sınıflar yok mu ?! Herhangi bir fikir?
cs0815

7
Bende de aynı sorun var ve Çerçeve Ekle menüsünde Scala Çerçevesi görmüyorum
Michael P

1
Dikkatli bak. Scala sınıfı ilk bölümde ama scala senaryosu da listede
Alexandr

Ayrıca bu adım YALNIZCA Dosya> Ayarlar altında doğru PROXY ayarlarınızı güncellediyseniz çalışacaktır.
nanosoft

1
Scala eklentilerini yükledim, ancak Scala çerçeve seçeneği solda değil, sadece Maven
acmoune

107

Anladım, src> Dizini işaretle> Kaynaklar Kökü'ne sağ tıklayın.

Şimdi tekrar dene.


2
Harika! Cevabınızı ve en iyi cevabı birleştirmek işe yaradı!
hzitoun

Hem bunu hem de en iyi cevabı yapmak zorundaydım!
Jsleshem

1
Bu en üstte olmalı.
hunzter

22

Bu sorunu da yeni yaşadım. IntelliJ'in beni işaretlemediği ortaya çıktı.src/main/scala klasörümü "kaynak" klasör olarak .

Bunu yapmak için: Project Structure -> Modules ->klasöre sağ tıklayın veMark as "Source" (mavi)

Benzer şekilde, src/main/testklasör bir test klasörü olarak işaretlenmedi. Bu klasörler uygun şekilde işaretlendikten sonra scala sınıfları ekleyebildim.


Bu doğru - aşağıda biraz farklı (ve daha hızlı) bir şekilde yaptım.
user1761806

8

Adında boşluklar olan her yeni proje oluşturduğumda bu sorunu yaşadım. örneğin "Cehennem Wev". Proje adı olarak "HellWev" veya benzerini kullanmak iyi çalışıyor gibi görünüyor


2
Ayrıca bir proje adı ile bir numara ile başlarken bu sorunu yaşadım. Yeniden adlandırdıktan sonra her şey yolunda gitti.
user3846506

Sadece tuz tanemi eklemek için. Evet, proje klasöründeki bir boşluk bu davranışı oluşturur.
villancikos

1
Aynı problem vardı ve @ user3846506'nın yorumu benim için cevaptı, projeyi adında numara olmadan yeniden oluşturdum ve proje açılır açılmaz scala klasörü gri yerine mavi oldu.
Shurikn

7

Src Scala klasörüne sağ tıklayın :)

Sağ tıklama animasyonu "Scala"


15
Açıklanan problem tam olarak ne gösterdiğinizdir. Bu menüde Scala Sınıfı yok. Bu animasyon yardımcı değil
Michael P

3
Animasyon, menülerin içeriğe duyarlı olduğunu gösterir. "Scala" klasörüne sağ tıklamak, "Scala Sınıfı" nı seçme seçeneğini sunar; "src" klasörüne sağ tıklama yapmaz.
Keith Pinson

Peki bu normal davranış ve tüm eğitimler güncel değil mi?
user1761806

@ user1761806 Hiçbirini gözden geçirmedim, bu yüzden herhangi bir öğreticinin güncel olup olmadığını söyleyemedim. Bu konuda, içeriğe duyarlı menülerle ilgili bu cevabın güncelliğini yitirmesini bekliyorum, ancak InteliJ 2017.2 itibariyle, kullanıcı arayüzü değişmiş olsa bile animasyon hala açıklayıcı.
Keith Pinson

2
Animasyon yardımcı olmuyor. Kesinlikle / scala gibi dizinlere sahip olabilirsiniz (ve Kaynaklar Köküne sahip olarak işaretleyin) ve yine de Yeni Scala Sınıfı görünmeyecektir. Doğru cevap @Majico'dan
Kumar Vaibhav

5

IDEA 2016.2.5'te

Yeni bir SBT veya Scala projesinden.

  • Açık Proje Yapısı
  • Proje sekmesinde JDK'nızı ekleyin (ayrıca SDK'lar sekmesinde de görünmelidir)
  • Global Kitaplıklar altında Scala SDK ekleyin.

Ne yazık ki sadece bunu derlemenize eklemek. SBT, IDE davranışını etkilemez.


5

IntelliJ IDE 2019.1 Ultimate üzerinde, FRAMEWORK Scala'yı şu ekranlar gibi etkinleştirin:

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


Yardım için teşekkürler :) IntelliJ 2019 için benim için çalıştı
Rajiv Singh

Görseller ile cevabınız için teşekkürler ... Charm gibi çalıştı!
VIKAT

5

Aynı sorunu yaşadım ve yaptığım şey Projeye Sağ Tıklamaktı ---> Sonra Çerçeve Desteği Ekle'yi Seçin -> Sol köşede Groovy, Kotlin, Maven ve Scala'dan bahseden bir liste vardı .---> Listeden Scala'yı seçtim ama yine de sorun yaşadım çünkü kitaplık belirtilmedi ---> Oluştur'a tıkladım ve 2.11.12'yi yüklediğim sürümü seçmemi istedi, seçtim ve indirmeye başladı. İndirildikten sonra Scala'yı seçtim ve sorun çözüldü.


Teşekkür ederim. Bana gerçekten yardımcı oldu.
Thiago Melo

4

Src klasörüne gidin ve Dizin Olarak İşaretle'yi seçin, ardından sorununuzu çözecek kaynak kök adı verilen seçeneği seçin.


3

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"hedef ekle -> built.sbtbu dosya IntelliJ IDEA 2017 için çalışıyor


Sürüm numarasını olarak değiştirmem dışında IntelliJ IDEA 2018.3'te bu benim için çalıştı 1.1.1.
Evan Knowles

2
  1. Yeni gradle projesi oluşturuldu (java)
  2. / Src / main / içine yeni modül "scala" ve kaynak olarak "Make Directory" ekleyin ...
  3. build.gradle'a bağımlılıklar eklendi:

    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

Benim durumumda Sources Root'u seçtikten sonra bana herhangi bir Scala Class seçeneği göstermedi, sonra Generated Sources Root'u seçiyorum , src> Mark directory as> Generated Sources Root'a sağ tıklayın. Bu benim için çalıştı


1

Intellij varsayılan olarak zaman zaman bağımlılıkları algılamaz. Ayrı bir sbt veya maven projesi oluşturmanız ve ardından bunu Intellij'e aktarmanız gerekir.

Bir Java Scala Mixin projesi oluşturmak istiyorsanız bu blog gönderisini takip edebilirsiniz. . Ve sonra Intellij'e aktarın.

Veya sadece Scala öğrenmeye çalışıyorsanız.

Bu maven tabanlı Scala Başlangıç ​​Şablonunu indirebilir ve intellij'e aktarabilir ve ardından üzerinde çalışmaya devam edebilirsiniz.

Not: Modül için kaynakları şu şekilde belirtmeniz gerekebilir:

Proje Yapısı -> Modüller Sekmesi


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
Bu, mavan çerçevesi ile proje oluştururken çalışacaktır ve SBT durumunda build.sbt dosyası eklediniz
Chetan Hirapara

1
@ChicksPatel Evet, yalnızca maven çerçevesiyle proje oluştururken işe yarar. Soruda belirli bir çerçeveden bahsedilmediği için cevabın birine yardımcı olabileceğini düşündüm.
Nikunj Kakadiya

1

Ben de aynı sorunla karşılaştım, scala dosyası seçenekleri, Scala SDK kurulu olmadığı için intellij Idea editöründe görünmüyordu. Yani Scala için SDK kurduktan sonra bu sorundan kurtulursunuz.


1
Yorum olmalı
yürütülebilir

1

Aşağıdaki adımları uygulamak benim için çözüldü:

  • Ölçek ekleyinIntellij IDE'nize eklentisi . (Eklentiler Dosya -> ayarlar -> eklentilere gidilerek eklenebilir)
  • Ölçeklendirme eklentisini etkinleştir
  • IDE'yi yeniden başlatın

0

Proje adınızın hemen üzerindeki açılır menüden 'Proje' yerine 'Paket' seçeneğini seçmeniz yeterlidir.



0

Benzer bir sorun yaşadım ve çözmek için yaptığım şey src / main / scala üzerine sağ tıklayarak bir paket oluşturmaktı. Paket oluşturulduktan sonra, pakete sağ tıklayın ve scala sınıfı seçeneğini bulabilmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.