metals
TLDR
Start Metals server (VSCode)
$ metals-vscode
Import build$ metals import-build
Generate Bloop config$ metals generate-bloop
Connect to running server$ metals connect-to-server
SYNOPSIS
metals [options]
DESCRIPTION
Metals is a Scala language server implementing the Language Server Protocol (LSP). It provides IDE features like code completion, navigation, refactoring, and error checking for Scala projects.
Metals works with various editors including VS Code, Vim/Neovim, Emacs, and Sublime Text.
PARAMETERS
-Dmetals.client client
LSP client type.-Dmetals.server.port port
Server port.-Dmetals.verbose
Verbose logging.
SUPPORTED BUILD TOOLS
$ - sbt
- Mill
- Gradle
- Maven
- Bloop
- Mill
- Gradle
- Maven
- Bloop
FEATURES
$ - Code completion
- Go to definition
- Find references
- Rename refactoring
- Code actions
- Diagnostics
- Go to definition
- Find references
- Rename refactoring
- Code actions
- Diagnostics
CAVEATS
Requires JDK 8+. Initial indexing takes time. Build tool must be supported. Performance depends on project size.
HISTORY
Metals was created by Ólafur Páll Geirsson at the Scala Center in 2018 as the official Scala language server.


