I use both the Intellij IDEA and Scala IDE for Eclipse. They have different advantages and disadvantages.
Since SBT is the most established project structure, it is best to construct the Scala projects with SBT (or its new rival called Mill which should work with Intellij IDEA). But note that the Intellij IDEA can create your SBT projects from scratch, and you do NOT need to understand the details of SBT at all, you just need to know a few commands if you want to execute the program later either from SBT or from direct Scala. (Sometimes executing a memory-intensive program from within the Intellij IDEA seems to take too much time, and it can crash if you have not allocated enough memory, and so you might be forced to use less data to run the code from inside the IDE, meaning that after you run the program from inside the IDE, you can then use the console or the GUI to run it with large data. )
The best property that the Scala IDE for Eclipse has is that the âWorksheetâ feature is FAR superior to Intellij IDEA. I am convinced that the best training to learn how to take advantage of the Worksheet capabilities of these two IDEs is to take Martin Oderskyâs course at Coursera, about Scala Functional Programming. In this online course, Martin Odersky teaches everything by actually writing and testing code segments with the Worksheet feature, and he uses the Scala Eclipse IDE for the Worksheet. When I took this course from the creator of Scala, I was instantly converted to the Scala religion. I have C++ programs with thousands of lines of code, and I am migrating to Scala, but this is in no small part thanks to the IDE that made it much easier to write and debug code.
But let me warn you that one thing the Eclipse IDE cannot do is to create an SBT project like Intellij IDEA does. To be exact, there is an Eclipse plugin that allows you to open an SBT project from Eclipse, but when you launch Eclipse you cannot crate a new SBT project. This is a serious disadvantage of Eclipse.
On the other hand, the Scala Worksheet feature of Intellij IDEA is not anywhere near as great as the Eclipse version of Worksheet. With the Eclipse version of Worksheet, you can actually build, debug and test every line of code with astounding clarity. I would NOT have passed Martin Oderskyâs course without the Worksheet of Eclipse!
In this course, although I was writing and testing my code with the Eclipse Worksheet, I was building the SBT project with IntelliJ IDEA, which is simply the most user-friendly and helpful invention in the world. Just copy and paste your code segments from the Eclipse Worksheet into your Scala files in the Intellij IDEA environment, and this strategy is just great. When I am too lazy to launch and use Eclipse together with Intellij IDEA, sometimes I simply use the Worksheet of IDEA directly, but it just does not give as much information when you are trying to understand why you have a syntax or type error. When you have complicated data structures, the Eclipse Worksheet is far superior for understanding what must be done.
The Coursera sequence has 5 semesters, but I have completed only the first semester, although I am planning to complete the rest later:
At the beginning of this course, there are detailed instructions to install everything to use Eclipse and Intellij IDEA.
But to summarize, Intellij IDEA has the best capabilities to organize a project, and it just âworksâ even when you donât understand anything. And for the Worksheet you can use the Eclipse while you are writing code segments and functions.