Skip to content

Latest commit

 

History

History
92 lines (81 loc) · 5.84 KB

development.md

File metadata and controls

92 lines (81 loc) · 5.84 KB

Setup

The Scala language extends the Java language with improvements to language features and syntax. While it supports javascript and native runtime environments the primary runtime environment is the JRE, developing for the JRE requires a JDK install. Some options for installation follow.

Setup for command line

Scala projects use sbt as a portable build tool that can be used standalone or with an IDE.

Setup for IntelliJ IDEA

IntelliJ IDEA is a commercial IDE with free support for Scala, and free upgrades to its commercial edition for academic users.

Alternatives to IntelliJ

The project build, structure, and dependencies are defined in build.sbt, any Scala IDE can interact with sbt to build and run the project, and generate structure definitions and dependency lists. The following alternatives can be used:

  • ScalaIDE

    ScalaIDE is built on Eclipse a popular open source IDE. The project can be imported without changes as a sbt project. There are some IntelliJ config files in the repository that define code style choices and version control system choice. It is untested whether the Eclipse Interoperability plugin can export these settings. The primary concern of the plugin is project structure and module definitions which should not be exported as these are generated from build.sbt.

  • Metals

    Metals is a language server, this allows any text editor to communicate with it and access language support. This allows plugins to be developed that are compatible with any text editor that implements the language server protocol. Metals can be used with Visual Studio Code, Eclipse, Vim, Emacs, Sublime Text.

Running the application

Debugging