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?

Sircar Saurav
sumber
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!

Majico
sumber
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.

pengguna1761806
sumber
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.

Mike Pors
sumber
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

cwadeevans
sumber
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"

Keith Pinson
sumber
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.

Eric Aldinger
sumber
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

Claudio
sumber
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.

Christina Sebastian
sumber
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.

svk 041994
sumber
3

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

teknisi95
sumber
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'
    
    } 
AlexPes
sumber
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

GANESH CHOKHARE
sumber
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

Wisnu667
sumber
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.
Nikunj Kakadiya
sumber
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.

Wisnu Kant Tripathi
sumber
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
saikumar18
sumber
0

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

Nol
sumber
0

Saya mengalami perilaku ini ketika folder tidak ditandai dengan benar sebagai folder sumber (simbol folder biru). Jika demikian, cukup klik kanan pada keseluruhan proyek dan pilih Open Module Settings di mana Anda dapat menandai folder masing-masing sebagai sumber: Module settings di mana Anda dapat memilih src sebagai folder Source

Susie
sumber
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.

Waseem Hawaldar
sumber