Неможливо створити клас Scala на IntelliJ


122

Я тільки починаю вивчати Скалу. Я встановив плагін Scala для IntelliJ і створив новий проект Scala. Але коли я клацну правою кнопкою миші на папці src, щоб створити новий клас Scala, немає можливості зробити це. Я щось пропускаю?


1
Ви вказали SDK Scala? Він повинен працювати, якщо ви правильно налаштували проект та вказали SDK.
evan.oman

1
Я спробував тиражувати ту саму проблему, але я можу зробити файл scala. Я можу запропонувати вам обійтись: Створіть новий проект і в масштабі виберіть проект sbt, а потім всередині src.main зробіть новий файл масштабу. Я сподіваюся, що це допоможе або ви можете спробувати RESET налаштування Intellij.
Shiv4nsh

Як сказав @ evan058, це SDK. Чомусь IntelliJ іноді не вибирає scala sdk автоматично. І якщо це не налаштовано, це станеться.
Нікс

Інша можливість полягає в тому, що ви використовуєте неправильний шлях для джерел Scala. Вони повинні зайти в src\main\scalaабо src\test\scala. Якщо ви sbtвстановили, ви можете запустити його у своєму проекті dir та виклик команди inspect scalaSource, і він покаже вам, де мають бути джерела Scala.
Haspemulator

Будь ласка, дивіться коментарі всередині інших відповідей. Простір у проекті може бути причиною цієї помилки.
villancikos

Відповіді:


262

Клацніть правою кнопкою миші на вашому проекті, " Додати підтримку Framework " та виберіть рамку Scala, потім правою кнопкою миші на пакунках ви зможете створити Scala Class.

Після цього натисніть правою кнопкою миші на src> Mark directory as> Sources Root.

Виконання обох цих питань має вирішити вашу проблему!


7
Тільки тепер можна додавати сценарії scala, але немає класів ?! Будь-які ідеї?
cs0815

7
У мене така ж проблема, і я не бачу Scala Framework в меню Додати рамки
Michael P

1
Подивіться уважно. Клас Scala знаходиться у першому розділі, але сценарій Scala також є у списку
Олександр

Також цей крок ТОЛЬКО спрацює, якщо ви оновили правильні налаштування PROXY у меню Файл> Налаштування.
nanosoft

1
У мене встановлені штифти Scala, але параметр рамки Scala не зліва, тільки Maven
acmoune

107

Я зрозумів це, клацніть правою кнопкою миші на src> Позначити каталог як> Коріння джерел.

Тепер спробуйте ще раз.


2
Чудово! Поєднавши свою відповідь та верхню відповідь, це зробило трюк!
hzitoun

Я повинен був зробити і це, і головну відповідь!
Jsleshem

1
Це має бути зверху.
мисливець

22

У мене теж було таке питання. Виявилося, що IntelliJ не позначив мою src/main/scalaпапку як "папку" джерела.

Для цього: Project Structure -> Modules ->клацніть правою кнопкою миші папку таMark as "Source" (синій)

Так само src/main/testпапка не була позначена як тестова папка. Я зміг додати класи масштабування після того, як ці папки були належним чином позначені.


Це правильно - хоча я це зробив трохи іншим (і швидшим) способом нижче.
користувач1761806

8

У мене була ця проблема кожного разу, коли я створював новий проект із пробілами в назві. наприклад, "Пекло Wev". Використання "HellWev" або подібного як назви проекту, здається, працює добре


2
У мене також була ця проблема, починаючи назву проекту з номером. Після перейменування все спрацювало нормально.
користувач3846506

Тільки щоб додати моє зерно солі. Так, пробіл у папці проекту створює таку поведінку.
villancikos

1
У мене була така ж проблема, і коментар @ user3846506 був для мене відповіддю, я відтворив проект без номера в назві, а папка Scala стала синьою, а не сірою, як тільки проект відкрився.
Шурікн

7

Клацніть правою кнопкою миші на папці Src Scala :)

Анімація клацання правою кнопкою миші "Scala"


15
Описана проблема - саме те, що ви показуєте. У цьому меню немає класу Scala. Ця анімація не корисна
Michael P

3
Анімація демонструє, що меню залежать від контексту. Клацання правою кнопкою миші на папці "scala" пропонує можливість вибрати "Class Scala"; клацання правою кнопкою миші на папці "src" не робить.
Кіт Пінсон

Так це нормальна поведінка і всі підручники застаріли?
користувач1761806

@ user1761806 Я ніколи не переглядав жодного, тому не можу сказати, чи застаріли підручники. З цього приводу я очікую, що ця відповідь щодо контекстно-залежних меню застаріла, але станом на InteliJ 2017.2 анімація все ще є показовою, хоча інтерфейс користувача змінився.
Кіт Пінсон

2
Анімація не корисна. Ви напевно можете мати каталоги типу / scala (і позначте, що він має джерело кореня), і все ж Новий клас Scala не з’явиться. Правильна відповідь - від @Majico
Кумар

5

В IDEA 2016.2.5

Від нового проекту SBT або Scala.

  • Відкрита структура проекту
  • На вкладці Проект додайте JDK (також має бути видно на вкладці SDK)
  • У розділі "Глобальні бібліотеки" додайте Scala SDK.

На жаль, просто додавши це до свого build.SBT не впливає на поведінку IDE.


5

На IntelliJ IDE 2019.1 Ultimate ввімкніть FRAMEWORK Scala, як на цих екранах:

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення


Дякую за допомогу :) Це працювало для мене для IntelliJ 2019
Singh

Дякую за відповідь із зображеннями ... Це спрацювало як Чарівність!
VIKAT

5

У мене була така ж проблема, і я зробив це - Клацнувши правою кнопкою миші на проект ---> Потім виберіть Додати підтримку фреймворку -> У лівому куті був список згаданих про Groovy, Kotlin, Maven та Scala .---> Зі списку я вибираю Scala, але все-таки виникла проблема, оскільки бібліотека не була вказана ---> Клацнув на Create, і він попросив мене вибрати версію, як я встановив 2.11.12, я вибрав її, і вона почала її завантажувати. Після завантаження я вибрав Scala, і проблема виправлена.


Дякую. Це мені дуже допомогло.
Тіаго Мело

4

Перейдіть у папку Src і виберіть Позначити як каталог, а потім оберіть опцію, що називається вихідний корінь, що вирішить вашу проблему.


3

додати libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"в target -> built.sbtфайл, який працює для IntelliJ IDEA 2017


Це працювало для мене в IntelliJ IDEA 2018.3, за винятком того, що я змінив номер версії на 1.1.1.
Еван Ноулз

2
  1. Створено новий проект Gradle (java)
  2. Додайте новий модуль "scala" в / src / main / та "Make Directory" як джерело ...
  3. додані залежності в 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

У моєму випадку після вибору джерела Root він не показав мені жодного варіанту класу Scala, тоді я вибираю Generated Sources Root, клацніть правою кнопкою миші на src> Позначити каталог як> Generated Sources Root. Це працювало для мене


1

Intellij за замовчуванням часом не підбирає залежності. Вам потрібно буде створити окремий проект sbt або maven, а потім імпортувати його в Intellij.

Якщо ви хочете створити проект Java Scala Mixin, ви можете перейти до цієї публікації в блозі . А потім імпортувати його в Intellij.

Або якщо ви просто намагаєтесь навчити Scala.

Ви можете завантажити цей шаблон Scala Starter на основі Maven та імпортувати його в intellij, а потім продовжувати роботу над ним.

Примітка. Можливо, вам доведеться вказати джерела для модуля в

Структура проекту -> Модуль вкладка


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
Цей буде працювати, коли ви створюєте проект з mavan Framework, а в разі SBT у вас є файл build.sbt
Chetan Hirapara

1
@ChicksPatel Так, це буде працювати, коли ви створюєте проект лише з Maven Framework. Оскільки в запитанні не було зазначено жодної конкретної рамки, я вважав, що відповідь може комусь допомогти.
Нікунд Какадія

1

Я також зіткнувся з тією ж проблемою, що параметри файлів scala не були помітні в редакторі Intellij Idea, оскільки Scala SDK не був встановлений. Таким чином, ви позбудетеся цього питання, встановивши SDK для Scala.


1
Має бути коментар
виконуваний

1

Дотримуючись наведених нижче кроків, вирішених для мене:

  • Додайте шкалу плагін до свого Intellij IDE (плагіни можна додати, перейшовши до Файл -> налаштування -> плагіни)
  • Увімкнути плагін Scala
  • Перезавантажте IDE

0

Вам просто потрібно вибрати "Пакет" замість опції "Проект" зі спадного меню над назвою проекту.


0

Я відчував таку поведінку, коли папка була неправильно позначена як вихідна папка (синій символ папки). Якщо це так, просто клацніть правою кнопкою миші весь проект і виберіть Відкрити налаштування модуля, де потім можете позначити відповідну папку як джерело: Налаштування модуля, де ви можете вибрати src як папку Source


0

У мене була подібна проблема, і я вирішив це просто створити пакет, натиснувши правою кнопкою миші на src / main / scala. Після створення пакету клацніть правою кнопкою миші на пакеті, і ви зможете знайти варіант класу Scala.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.