Tidak dapat membuat kelas Scala di IntelliJ


122

Saya baru mulai belajar Scala. Saya telah menginstal plugin Scala untuk IntelliJ, dan membuat proyek Scala baru. Tetapi ketika saya mengklik kanan pada folder src untuk membuat kelas Scala baru, tidak ada pilihan untuk melakukannya. Apakah saya melewatkan sesuatu?


1
Sudahkah Anda menentukan Scala SDK? Ini harus berfungsi jika Anda menyiapkan proyek dengan benar dan menentukan SDK.
evan.oman

1
Saya mencoba mereplikasi masalah yang sama tetapi saya bisa membuat file scala. Saya dapat menyarankan Anda untuk mengatasinya: Buat Proyek baru dan dalam skala pilih proyek sbt dan kemudian di dalam src.main buat file scala baru. Saya harap itu membantu atau Anda dapat mencoba RESET pengaturan intellij.
Shiv4nsh

Seperti yang dikatakan @ evan058, ini adalah SDK. Untuk beberapa alasan, IntelliJ terkadang tidak memilih scala sdk secara otomatis. Dan jika tidak dikonfigurasi, ini terjadi.
Niks

Kemungkinan lainnya adalah Anda menggunakan jalur yang salah untuk sumber Scala. Mereka harus pergi ke src\main\scalaatau src\test\scala. Jika Anda telah sbtmenginstal, Anda dapat meluncurkannya di project dir dan perintah pemanggilan inspect scalaSource, dan ini akan menunjukkan kepada Anda di mana sumber Scala harus berada.
Haspemulator

Silakan lihat komentar di dalam jawaban lain. Ruang dalam proyek bisa menjadi penyebab kesalahan ini.
villancikos

Jawaban:


262

Klik kanan pada proyek Anda, " Add Framework support " dan pilih Scala framework, kemudian dengan klik kanan pada paket Anda dapat membuat Scala Class.

Setelah ini, klik kanan pada src> Mark directory as> Sources Root.

Melakukan keduanya akan memperbaiki masalah Anda!


7
Hanya dapat menambahkan skrip scala sekarang tetapi tidak ada kelas ?! Ada ide?
cs0815

7
Saya memiliki masalah yang sama dan saya tidak melihat Scala Framework di menu Add Framework
Michael P

1
Perhatikan baik-baik. Kelas scala ada di bagian pertama, tetapi skrip scala juga ada di daftar
Alexandr

Juga langkah ini HANYA akan berfungsi jika Anda telah memperbarui pengaturan PROXY yang benar di bawah File> Pengaturan.
nanosoft

1
Saya telah menginstal plugin scala, tetapi opsi kerangka kerja Scala tidak ada di sebelah kiri, hanya Maven
acmoune

107

Saya menemukan jawabannya, klik kanan pada src> Mark directory as> Sources Root.

Sekarang coba lagi.


2
Bagus! Menggabungkan jawaban Anda dan jawaban teratas berhasil!
hzitoun

Saya harus melakukan ini dan jawaban teratas!
Jsleshem

1
Ini harus menjadi yang teratas.
hunzter

22

Saya baru saja mengalami masalah ini juga. Ternyata IntelliJ tidak menandai src/main/scalafolder saya sebagai folder "sumber".

Untuk melakukan ini: Project Structure -> Modules ->folder klik kanan dan Mark as "Source"(biru)

Demikian pula, src/main/testfolder tersebut tidak ditandai sebagai folder uji. Saya dapat menambahkan kelas skala setelah folder tersebut ditandai dengan tepat.


Ini benar - meskipun saya melakukannya dengan cara yang sedikit berbeda (dan lebih cepat) di bawah ini.
user1761806

8

Saya mengalami masalah ini setiap kali saya membuat proyek baru dengan spasi di namanya. misalnya "Hell Wev". Menggunakan "HellWev" atau serupa sebagai nama proyek tampaknya berfungsi dengan baik


2
Saya juga mengalami masalah ini memulai nama proyek dengan angka. Setelah mengganti nama, semuanya bekerja dengan baik.
pengguna3846506

Hanya untuk menambahkan butiran garam saya. Ya, spasi di folder proyek membuat perilaku ini.
villancikos

1
Memiliki masalah yang sama dan komentar @ user3846506 adalah jawaban untuk saya, saya membuat ulang proyek tanpa nomor dalam nama dan folder scala menjadi biru, bukan abu-abu segera setelah proyek dibuka.
Shurikn

7

Klik kanan pada folder Src Scala :)

Animasi mengklik kanan "Scala"


15
Masalah yang dijelaskan persis seperti yang Anda tunjukkan. Tidak ada Kelas Scala di menu itu. Animasi ini tidak membantu
Michael P

3
Animasi menunjukkan bahwa menu peka konteks. Mengklik kanan pada folder "scala" menawarkan opsi untuk memilih "Scala Class"; mengklik kanan pada folder "src" tidak.
Keith Pinson

Jadi apakah ini perilaku normal dan semua tutorial sudah ketinggalan zaman?
user1761806

@ user1761806 Saya belum pernah meninjau jadi saya tidak bisa memberi tahu Anda jika ada tutorial yang ketinggalan zaman. Mengenai hal itu, saya berharap jawaban tentang menu peka konteks ini menjadi usang, tetapi mulai InteliJ 2017.2 animasinya masih bersifat ilustratif meskipun UI telah berubah.
Keith Pinson

2
Animasi tidak membantu. Anda pasti dapat memiliki direktori seperti / scala (dan menandainya memiliki Sumber Root) dan Kelas Scala Baru tidak akan muncul. Jawaban yang benar adalah oleh @Majico
Kumar Vaibhav

5

Dalam IDEA 2016.2.5

Dari proyek SBT atau Scala baru.

  • Buka Struktur Proyek
  • Pada tab Proyek, tambahkan JDK Anda (juga harus terlihat di tab SDK)
  • Di bawah Perpustakaan Global tambahkan Scala SDK.

Sayangnya, hanya menambahkan ini ke build Anda. SBT tidak memengaruhi perilaku IDE.


5

Pada IntelliJ IDE 2019.1 Ultimate, aktifkan FRAMEWORK Scala seperti layar ini:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


Terima kasih atas bantuannya :) Ini berhasil untuk saya untuk IntelliJ 2019
Rajiv Singh

Terima kasih atas jawabannya dengan Gambar ... Ini bekerja seperti Pesona!
VIKAT

5

Saya memiliki masalah yang sama dan yang saya lakukan adalah Mengklik Kanan pada Proyek ---> Kemudian Pilih Tambahkan Dukungan Kerangka -> Di sudut kiri ada daftar yang disebutkan tentang Groovy, Kotlin, Maven dan Scala .---> Dari Daftar saya memilih Scala tetapi masih mengalami masalah karena librabry tidak ditentukan ---> Klik Buat dan meminta saya untuk memilih versi seperti yang telah saya Instal 2.11.12, saya memilihnya dan mulai mengunduhnya. Setelah diunduh, saya memilih Scala dan masalah telah diperbaiki.


Terima kasih. Itu sangat membantu saya.
Thiago Melo

4

Buka folder Src dan pilih Tandai sebagai Direktori lalu pilih opsi yang disebut root sumber, yang akan memperbaiki masalah Anda.


3

tambahkan libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"target -> built.sbtfile ini berfungsi untuk IntelliJ IDEA 2017


Ini berfungsi untuk saya di IntelliJ IDEA 2018.3, kecuali saya mengubah nomor versinya menjadi 1.1.1.
Evan Knowles

2
  1. Membuat proyek gradle baru (java)
  2. Tambahkan modul baru "scala" ke / src / main / dan "Jadikan Direktori" sebagai sumber ...
  3. menambahkan dependensi ke dalam 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

Dalam kasus saya setelah memilih Sources Root, tidak ada opsi Scala Class kemudian saya memilih Generated Sources Root, klik kanan pada src> Mark directory as> Generated Sources Root. Ini berhasil untuk saya


1

Intellij secara default tidak mengambil dependensi pada waktu tertentu. Anda harus membuat proyek sbt atau maven terpisah, lalu mengimpornya ke Intellij.

Jika Anda ingin membuat proyek Java Scala Mixin, Anda dapat mengikuti posting blog ini . Dan kemudian impor di Intellij.

Atau jika Anda hanya mencoba mempelajari Scala.

Anda dapat mendownload Template Pemula Scala berbasis maven ini dan mengimpornya ke dalam intellij dan kemudian melanjutkan mengerjakannya.

Catatan: Anda mungkin harus menentukan sumber untuk modul di

Struktur Proyek -> Tab Modul


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
Yang ini akan berfungsi ketika Anda membuat proyek dengan kerangka kerja mavan, dan dalam kasus SBT Anda telah menambahkan file build.sbt
Chetan Hirapara

1
@ChicksPatel Ya, ini akan berhasil ketika Anda membuat proyek dengan kerangka kerja maven saja. Karena tidak ada kerangka khusus yang disebutkan dalam pertanyaan, saya pikir jawabannya mungkin membantu seseorang.
Nikunj Kakadiya

1

Saya juga menghadapi masalah yang sama, opsi file scala tidak terlihat di editor Ide intellij karena Scala SDK tidak diinstal. Jadi, Anda menyingkirkan masalah ini setelah menginstal SDK untuk Scala.


1
Harus menjadi komentar
dapat dijalankan

1

Mengikuti langkah-langkah di bawah ini diselesaikan untuk saya:

  • Tambahkan scala plugin ke IDE Intellij Anda. (Plugin dapat ditambahkan dengan membuka File -> pengaturan -> plugin)
  • Aktifkan plugin scala
  • Mulai ulang IDE

0

Anda hanya perlu memilih opsi 'Paket' alih-alih 'Proyek' dari menu tarik-turun tepat di atas nama proyek Anda.



0

Saya memiliki masalah serupa dan yang saya lakukan untuk menyelesaikannya hanyalah membuat paket dengan mengklik kanan pada src / main / scala. Setelah paket dibuat, klik kanan pada paket dan Anda seharusnya dapat menemukan opsi kelas scala.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.