2.7 KiB
Scala contribution layer for Spacemacs
Table of Contents
Description
This layer adds support for the Scala language using the excellent ENSIME client/server.
Install
Add this contribution to your ~/.spacemacs
.
(setq-default dotspacemacs-configuration-layers '(scala)
"List of contribution to load."
)
Ensime
ENSIME provides IDE-like features, such as refactoring, incremental compilation and project-wide type-checking.
ENSIME requires a configuration file at the root of each Scala project. It provides an SBT plugin to generate these files.
Installation
-
Configure the ENSIME sbt plugin by adding the following to
~/.sbt/0.13/plugins/plugins.sbt
:resolvers += Resolver.sonatypeRepo("snapshots") addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.5-SNAPSHOT")
-
Run
sbt
at the shell to download and install the plugin.
See the ENSIME quickstart guide for further information.
Usage
-
Create a
.ensime
file at the root of your Scala project usingsbt gen-ensime
at the shell. -
Run
M-x ensime
within Emacs to start an ENSIME session.
Each Scala project uses a dedicated ENSIME session, so you only need to run M-x ensime
once per project. Any Scala files you create or visit within the project
will automatically use ENSIME for the remainder of your editing session.
Scalastyle
Scalastyle provides style-checking and linting. The Emacs functionality is provided by Flycheck.
To use scalastyle,
- Download the scalastyle jar and put it somewhere sensible
- Customise the
flycheck-scalastyle-jar
variable and set it to the path of the jar.
See the flycheck documentation for up-to-date configuration instructions.