Metals v0.7.0 - Thorium
We are excited to announce the release of Metals v0.7.0 - codename "Thorium" 🎉 The release includes several new features along with bug fixes.
Metals is a language server for Scala that works with VS Code, Atom, Vim, Sublime Text and Emacs. Metals is developed at the Scala Center and VirtusLab along with contributors from the community.
In this release we merged 21 PRs and closed 8 issues, full details: https://github.com/scalameta/metals/milestone/11?closed=1
TL;DR​
- New tree view in VS Code
- New support for Scala 2.13
- New support for JDK 11
- New improved classpath indexing performance
- New fallback to "find references" when calling "goto definition" on a symbol definition
- Bug fixes for importing builds in Gradle, Mill and sbt
- Dropped support for deprecated Scala versions 2.11.9, 2.11.10, 2.11.11, 2.12.4, 2.12.5 and 2.12.6.
Check out the website and give Metals a try: https://scalameta.org/metals/
Tree views in VS Code​
There is now a new "Metals" sidebar in VS Code that contains three tree views:
- Build: overview of the build state, with buttons to manually trigger build import.
- Compile: overview of ongoing compilations, with buttons to manually cascade compilation and cancel ongoing compilation.
- Help and feedback: buttons to automate troubleshooting Metals issues and links to relevant online resources such as GitHub, Gitter and Twitter.
Projects explorer​
Libraries explorer​
Browse symbols that are defined in jars of library dependencies.
Reveal active file in Metals side bar​
There is a new command "Reveal active file in Metals side bar" that focuses the library and project explorer to the current open file.
Compilation explorer​
Get an overview of all compilations that are ongoing in the build. Previously, only a single compilation progress was reported through the status bar.
Help and feedback explorer​
Support for Scala 2.13​
Metals now supports Scala 2.13.0! Please upgrade to Scalafmt v2.0.0 in order to
format 2.13-specific syntax such as underscore separators (1_000_000
). Note
that completions may in rare situations not work perfectly for Scala 2.13, in
particular:
- whitebox string interpolator macros, we had to disable one unit test for 2.13. See #777.
- better-monadic-for compile plugin, we had to disable one unit test for 2.13. See #777.
Big thanks to @gabro for leading this effort!
JDK 11 support​
Metals can now run on Java 11! To use Java 11 instead of Java 8, point the
$JAVA_HOME
environment variable to a Java 11 installation.
The VS Code extension will continue to use Java 8 by default, update the "Java Home" setting to use Java 11 instead.
To obtain the Java 11 home on macOS, use the following command:
$ /usr/libexec/java_home 11
/Library/Java/JavaVirtualMachines/openjdk-11.0.1.jdk/Contents/Home
Big thanks to @er1c for pushing for the effort on both the Bloop and Metals side to support Java 11!