Không thể tạo lớp Scala trên IntelliJ


122

Tôi mới bắt đầu học Scala. Tôi đã cài đặt plugin Scala cho IntelliJ và tạo một dự án Scala mới. Nhưng khi tôi nhấp chuột phải vào thư mục src để tạo một lớp Scala mới, không có tùy chọn nào để làm như vậy. Tui bỏ lỡ điều gì vậy?


1
Bạn đã chỉ định SDK Scala chưa? Nó sẽ hoạt động nếu bạn thiết lập dự án đúng cách và chỉ định SDK.
evan.oman

1
Tôi đã thử sao chép cùng một vấn đề nhưng tôi phải tạo tệp scala. Tôi có thể gợi ý cho bạn một công việc xung quanh: Tạo một Dự án mới và trong scala, chọn dự án sbt và sau đó bên trong src.main tạo một tệp scala mới. Tôi hy vọng điều đó sẽ hữu ích hoặc bạn có thể thử ĐẶT LẠI cài đặt của intellij.
Shiv4nsh

Giống như @ evan058 đã nói, đó là SDK. Vì một số lý do, đôi khi IntelliJ không tự động chọn scala sdk. Và nếu nó không được cấu hình, điều này sẽ xảy ra.
Niks

Một khả năng khác là bạn đang sử dụng sai đường dẫn cho các nguồn Scala. Họ nên đi vào src\main\scalahoặc src\test\scala. Nếu bạn đã sbtcài đặt, bạn có thể khởi chạy nó trong lệnh dir và gọi của dự án inspect scalaSource, và nó sẽ hiển thị cho bạn nguồn Scala phải ở đâu.
Haspemulator vào

Vui lòng xem các bình luận bên trong các câu trả lời khác. Một khoảng trống trong dự án có thể là lý do của lỗi này.
Villancikos

Câu trả lời:


262

Nhấp chuột phải vào dự án của bạn, " Thêm hỗ trợ Framework " và chọn khung Scala, sau đó nhấp chuột phải vào các gói bạn có thể tạo Scala Class.

Sau đó, nhấp chuột phải vào src>Mark directory as > Sources Root.

Làm cả hai điều này sẽ khắc phục được sự cố của bạn!


7
Chỉ có thể thêm các tập lệnh scala bây giờ nhưng không có lớp nào ?! Có ý kiến ​​gì không?
cs0815,

7
Tôi có cùng một vấn đề và tôi không thấy Scala Khung trong menu Add Khung
Michael P

1
Nhìn cẩn thận. Lớp Scala nằm trong phần đầu tiên, nhưng tập lệnh scala cũng có trong danh sách
Alexandr

Ngoài ra, bước này CHỈ hoạt động nếu bạn đã cập nhật cài đặt PROXY chính xác của mình trong Tệp> Cài đặt.
nanosoft

1
Tôi có plugns scala cài đặt, nhưng tùy chọn khung Scala không phải là ở bên trái, chỉ Maven
acmoune

107

Tôi đã tìm ra, nhấp chuột phải vào src> Đánh dấu thư mục là> Nguồn gốc.

Bây giờ hãy thử lại.


2
Tuyệt quá! Kết hợp câu trả lời của bạn và câu trả lời hàng đầu đã tạo ra mẹo!
hzitoun

Tôi đã phải làm cả điều này và câu trả lời hàng đầu!
Jsleshem

1
Điều này nên được hàng đầu.
hunzter

22

Tôi cũng chỉ có vấn đề này. Hóa ra là IntelliJ đã không đánh dấu src/main/scalathư mục của tôi là thư mục "nguồn".

Để làm điều này: Project Structure -> Modules ->nhấp chuột phải vào thư mục và Mark as "Source"(màu xanh lam)

Tương tự, src/main/testthư mục không được đánh dấu là thư mục thử nghiệm. Tôi đã có thể thêm các lớp scala sau khi các thư mục đó được đánh dấu thích hợp.


Điều này đúng - mặc dù tôi đã làm theo cách hơi khác (và nhanh hơn) bên dưới.
user1761806,

8

Tôi đã gặp vấn đề này mỗi khi tôi tạo một dự án mới với khoảng trống trong tên. ví dụ: "Hell Wev". Sử dụng "HellWev" hoặc tương tự làm tên dự án có vẻ hoạt động tốt


2
Tôi cũng gặp sự cố này khi bắt đầu một tên dự án với một số. Sau khi đổi tên, mọi thứ hoạt động tốt.
dùng3846506

Chỉ để thêm hạt muối của tôi. Có, một khoảng trống trong thư mục dự án tạo ra hành vi này.
Villancikos

1
Gặp vấn đề tương tự và nhận xét của @ user3846506 là câu trả lời cho tôi, tôi đã tạo lại dự án mà không có số trong tên và thư mục scala có màu xanh lam thay vì màu xám ngay khi dự án mở ra.
Shurikn

7

Nhấp chuột phải vào thư mục Src Scala :)

Hoạt ảnh khi nhấp chuột phải vào "Scala"


15
Vấn đề được mô tả là chính xác những gì bạn đang hiển thị. Không có Lớp Scala trong menu đó. Hoạt hình này là không hữu ích
Michael P

3
Hoạt ảnh chứng tỏ rằng các menu nhạy cảm với ngữ cảnh. Nhấp chuột phải vào thư mục "scala" cung cấp tùy chọn để chọn "Scala Class"; nhấp chuột phải vào thư mục "src" thì không.
Keith Pinson,

Vậy đây có phải là hành vi bình thường và tất cả các hướng dẫn đều đã lỗi thời?
user1761806,

@ user1761806 Tôi chưa bao giờ xem lại bất kỳ bài nào nên tôi không thể cho bạn biết nếu có bất kỳ hướng dẫn nào đã lỗi thời. Về chủ đề đó, tôi hy vọng câu trả lời này về các menu nhạy cảm theo ngữ cảnh sẽ trở nên lỗi thời, nhưng kể từ InteliJ 2017.2, hoạt ảnh vẫn mang tính minh họa mặc dù giao diện người dùng đã thay đổi.
Keith Pinson

2
Hoạt ảnh không hữu ích. Bạn chắc chắn có thể có các thư mục như / scala (và đánh dấu nó có Nguồn gốc) và vẫn còn Lớp Scala Mới sẽ không hiển thị. Câu trả lời đúng là bởi @Majico
Kumar Vaibhav

5

Trong IDEA 2016.2.5

Từ một dự án SBT hoặc Scala mới.

  • Cấu trúc dự án mở
  • Trên tab Dự án, hãy thêm JDK của bạn (cũng sẽ hiển thị trong tab SDK)
  • Trong Thư viện toàn cầu, hãy thêm SDK Scala.

Đáng buồn là chỉ thêm điều này vào bản dựng của bạn.SBT không ảnh hưởng đến hành vi IDE.


5

Trên IntelliJ IDE 2019.1 Ultimate, bật FRAMEWORK Scala như màn hình sau:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


Cảm ơn sự giúp đỡ :) Nó đã làm việc cho tôi cho IntelliJ 2019
Rajiv Singh

Cảm ơn câu trả lời với Hình ảnh ... Nó hoạt động giống như Charm!
VIKAT

5

Tôi đã gặp vấn đề tương tự và những gì tôi đã làm là Nhấp chuột phải vào Dự án ---> Sau đó chọn Thêm hỗ trợ khung -> Ở góc bên trái có một danh sách được đề cập đến Groovy, Kotlin, Maven và Scala .---> Từ Danh sách, tôi chọn Scala nhưng vẫn gặp sự cố vì thủ thư không được chỉ định ---> Nhấp vào Tạo và nó yêu cầu tôi chọn phiên bản như tôi đã Cài đặt 2.11.12, tôi chọn nó và nó bắt đầu tải xuống. Khi nó được tải xuống, tôi đã chọn Scala và sự cố đã được khắc phục.


Cảm ơn bạn. Nó thực sự đã giúp tôi.
Thiago Melo

4

Đi tới thư mục Src và chọn Đánh dấu là Thư mục, sau đó chọn tùy chọn gọi là gốc nguồn, điều này sẽ khắc phục sự cố của bạn.


3

thêm libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"vào target -> built.sbttệp này hoạt động cho IntelliJ IDEA 2017


Điều này đã làm việc cho tôi trong IntelliJ IDEA 2018.3, ngoại trừ tôi đã thay đổi số phiên bản thành 1.1.1.
Evan Knowles

2
  1. Đã tạo dự án gradle mới (java)
  2. Thêm mô-đun mới "scala" vào / src / main / và "Make Directory" làm nguồn ...
  3. đã thêm các phụ thuộc vào 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

Trong trường hợp của tôi sau khi chọn Nguồn gốc, nó không hiển thị cho tôi bất kỳ tùy chọn Scala Class nào, sau đó tôi chọn Gốc tạo nguồn gốc, nhấp chuột phải vào src> Đánh dấu thư mục là> Nguồn gốc đã tạo. Điều này đã làm việc cho tôi


1

Intellij theo mặc định đôi khi không nhận các phụ thuộc. Bạn sẽ cần tạo một dự án sbt hoặc maven riêng biệt và sau đó nhập nó vào Intellij.

Nếu bạn muốn tạo một dự án Java Scala Mixin, bạn có thể theo dõi bài đăng trên blog này . Và sau đó nhập nó trong Intellij.

Hoặc nếu bạn chỉ đang cố gắng học Scala.

Bạn có thể tải xuống Mẫu Scala Starter dựa trên maven này và nhập nó vào intellij và sau đó tiếp tục làm việc với nó.

Lưu ý: Bạn có thể phải chỉ định các nguồn cho mô-đun trong

Cấu trúc dự án -> Tab Mô-đun


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
Cái này sẽ làm việc khi bạn đang tạo dự án với khuôn khổ mavan, và trong trường hợp của SBT bạn có thêm build.sbt tập tin
Chetan Hirapara

1
@ChicksPatel Có, nó sẽ hoạt động khi bạn chỉ tạo dự án với maven framework. Vì không có khuôn khổ cụ thể nào được đề cập trong câu hỏi, tôi nghĩ câu trả lời có thể giúp ích cho ai đó.
Nikunj Kakadiya,

1

Tôi cũng gặp phải vấn đề tương tự, các tùy chọn tệp scala không hiển thị trong trình chỉnh sửa Ý tưởng intellij vì SDK Scala chưa được cài đặt. Vì vậy, bạn sẽ thoát khỏi vấn đề này sau khi cài đặt SDK cho Scala.


1
Nên là một bình luận
thực thi được

1

Làm theo các bước dưới đây đã giải quyết cho tôi:

  • Thêm bỏng nước plugin vào Intellij IDE của bạn. (Có thể thêm plugin bằng cách điều hướng đến Tệp -> cài đặt -> plugin)
  • Bật plugin scala
  • Khởi động lại IDE

0

Bạn chỉ cần chọn tùy chọn 'Gói' thay vì 'Dự án' từ trình đơn thả xuống ngay phía trên tên dự án của bạn.


0

Tôi gặp phải hiện tượng này khi thư mục không được đánh dấu chính xác là thư mục nguồn (ký hiệu thư mục màu xanh lam). Nếu đúng như vậy, chỉ cần nhấp chuột phải vào toàn bộ dự án và chọn Mở Cài đặt Mô-đun , sau đó bạn có thể đánh dấu thư mục tương ứng làm nguồn: Cài đặt mô-đun nơi bạn có thể chọn src làm thư mục Nguồn


0

Tôi đã gặp sự cố tương tự và những gì tôi đã làm để giải quyết chỉ là tạo một gói bằng cách nhấp chuột phải vào src / main / scala. Khi gói được tạo, nhấp chuột phải vào gói và bạn sẽ có thể tìm thấy tùy chọn lớp scala.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.