Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting up scala with IntelliJ

I have Intellij ultimate 11.1, with the scala plugin installed.

I installed scala 2.9.2 using homebrew, which put scala in:

/usr/local/Cellar/scala/2.9.2>



>which scala
/usr/local/bin/scala
>scala -version
Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL

Creating a new java module project, I get this:

enter image description here

enter image description here

enter image description here

enter image description here

Can someone help me fix these issues, why didn't the scala plugin make this work out of the box? :)

like image 874
Blankman Avatar asked May 31 '12 03:05

Blankman


People also ask

How do I create a Scala project in IntelliJ?

Delegate a Scala project build to sbt Press Ctrl+Alt+S to open the IDE settings and select Build, Execution, Deployment | Build Tools | sbt. In the sbt projects section, select a project for which you want to configure build actions. In the sbt shell section, select the builds option. Click OK to save the changes.


7 Answers

You need to specify /usr/local/Cellar/scala/2.9.2/libexec directory on your first screenshot. This is Mac brew specific, the same case is valid for grails installed via brew.

Standard Scala distribution download has different layout which IDEA understands correctly, brew is creating libexec directory where it writes /lib and /src directories expected by IDEA.

like image 67
CrazyCoder Avatar answered Oct 04 '22 05:10

CrazyCoder


Updated for Intellij 11.1.5

Here's a step by step for any of those who are trying to get Scala in IntelliJ up and running.

Download Scala Plugin

IntelliJ > Preferences > Plugins > Browse Repositories... > Scala Click Ok and allow IntelliJ to restart

Download Scala

In Terminal enter

brew install scala --with-docs

Setup symbolic links for IntelliJ discovery process

ln -s /usr/local/Cellar/scala/<version>/libexec/src /usr/local/Cellar/scala/<version>/src
ln -s /usr/local/Cellar/scala/<version>/libexec/lib /usr/local/Cellar/scala/<version>/lib
mkdir -p /usr/local/Cellar/scala/<version>/doc/scala-devel-docs
ln -s /usr/local/Cellar/scala/<version>/share/doc/scala /usr/local/Cellar/scala/<version>/doc/scala-devel-docs/api

Create Project in IntelliJ

Here you are going to create a Java project from scratch as you normally would. However, in the last step, you will select Scala in the "Technologies" page.

In the Use Scala Distribution enter /usr/local/Cellar/scala/<version>

In the Compiler dropdown select scala-compiler

Click Ok and you are ready to create your first Scala object

For reference -> http://scalacookbook.blogspot.com/2012/09/scala-for-intellij.html

like image 25
juice Avatar answered Oct 04 '22 05:10

juice


The latest Brew has already realized this problem and created automatic symlinks upon installing Scala.

Firstly, install Scala with Documentation

brew install scala --with-docs

Secondly, provide the following path in IntelliJ

/usr/local/opt/scala/idea
like image 23
Srinivasan Annamalai Avatar answered Oct 04 '22 06:10

Srinivasan Annamalai


Rather than downloading the docs separately you can use the --with-docs option when installing scala with homebrew:

brew install scala --with-docs

Then in IntelliJ point your JavaDocs path in the scala-library to /usr/local/Cellar/scala/2.9.2/share/doc.

like image 20
David Keen Avatar answered Oct 04 '22 04:10

David Keen


I'm just found another way to configure scala with intelJIdea. If scala installed with brew then just write in terminal:

brew info scala

you will see smth like that:

scala: stable 2.11.4 (bottled)
http://www.scala-lang.org/
/usr/local/Cellar/scala/2.11.4 (3401 files, 433M) *
  Built from source with: --with-docs
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/scala.rb
==> Options
--with-docs
    Also install library documentation
--with-src
    Also install sources for IDE support
==> Caveats
To use with IntelliJ, set the Scala home to:
  /usr/local/opt/scala/idea

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

Then just include /usr/local/opt/scala/idea into your idea config panel.

like image 24
Dmitry Zagorulkin Avatar answered Oct 04 '22 05:10

Dmitry Zagorulkin


Now is 2021 year. my (latest) environment is:

  • IntelliJ IDEA: IntelliJ IDEA 2020.3.2 (Community Edition)
  • OS: macOS 10.14.6

Steps to setup Scala using IntelliJ IEA

in Mac

  • install scala using brew
    • brew install scala

in IntelliJ

  • install Scala plugin
    • IntelliJ IDEA->Preferences->Plugins->search: scala-> Search in Marketplace->Install->Restart IDE
      • enter image description here
  • configure Java JDK + configure Scala SDK: when first time open *.scala file, will notice you:
    • Project JDK is not defined
      • click Setup SDK -> choose (your installed) Java 11
        • enter image description here
    • No Scala SDK in module
      • clcik Setup Scala SDK
        • Add Scala Support-> Use library -> Create -> Select JAR's for the new Scala SDK -> Click and choose Brew -> OK
          • enter image description here
        • Add Scala Support-> Use library -> (then) selected: scala-sdk-2.13.5 -> OK
          • enter image description here

finally can happy debug scala (file's class's main function):

enter image description here

like image 41
crifan Avatar answered Oct 04 '22 04:10

crifan


I am using Yosemite, and the following worked for me.

brew install scala --with-docs

Then I tested IntelliJ by creating a new project, using the Java SDK, and for compiler putting in:

/usr/local/Cellar/scala/[insertversion]/libexec

Here is what I see in IntelliJ when I created a new project with these settings

I tested compiling a Hello World program via this and it compiled correctly to the console.

Note, I ignored what @Zagorulkin said above even though it seems logical that if Homebrew is saying so my compile path should be different to the above.

like image 30
Dhruv Ghulati Avatar answered Oct 04 '22 05:10

Dhruv Ghulati