Metals v0.10.2 - Tungsten
We're happy to announce the release of Metals v0.10.2, which mainly adds support for Scala 3.0.0-RC3 as well a couple of smaller improvements.
Commits since last release | 62 |
Merged PRs | 30 |
Contributors | 8 |
Closed issues | 8 |
New features | 4 |
For full details: https://github.com/scalameta/metals/milestone/37?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs, Sublime Text and Eclipse. Metals is developed at the Scala Center and VirtusLab with the help from Lunatech along with contributors from the community.
TL;DR
Check out https://scalameta.org/metals/, and give Metals a try!
- [Scala 3] Support for Scala 3.0.0-RC3
- Add code action to add/remove string interpolation.
- Offer to organize imports when on an unused import.
- [Scala 3] Better names for types in completions and hovers.
Add/remove string interpolation
Thanks to some great work by our newest contributor Giggiux it's now possible to:
- easily add string interpolation to an existing string
val message = "Hello this is a message"
When the cursor is positioned inside of the string we can invoke the code action and get:
val message = s"Hello this is a message"
While this is a simpler code action, it can be paired with other things like completions that allow for a workflow with less manual steps.
- remove string interpolation if no splices are found
When the cursor is positioned inside a string interpolation, that does not
contain any splices ( $identifier
), we will now offer an action to quickly get
rid of the additional s
.
val message = s"Hello this is a message without splices"
will change to:
val message = "Hello this is a message without splices"
Offer to organize imports when on an unused import
In addition to the usual "organize imports", to try to improve the user experience, Metals now offers a code action to organize imports whenever the cursor is situated on an unused import reported by the diagnostics. Thanks ckipp01 for this new feature!
[Scala 3] Better names for types in completions and hovers.
Thanks to another great PR by tanishiking Metals will offer completions and hovers that include shorter names instead of fully qualified ones whenever they are currently in scope. They will also be more similar to the ones that you might be accustomed to in Scala 2. You can find some more examples of improvements in the pull request itself.
Miscellaneous
- Make insert type work with renamed imports.
- Treat
.srcjar
as jars to support Bazel in the future (thanks darl!).
Contributors
Big thanks to everybody who contributed to this release or reported an issue!
$ git shortlog -sn --no-merges v0.10.1..v0.10.2
Tomasz Godzik
Ayoub Benali
Chris Kipp
Adrien Piquerez
Luigi Frunzio
Rikito Taniguchi
Toshiyuki Takahashi
Vladislav Dolbilov
Merged PRs
v0.10.2 (2021-04-20)
Merged pull requests:
- Better names for types in completions #2637 (tanishiking)
- Add support for Scala 3.0.0-RC3 #2727 (tgodzik)
- Make insert type work with renamed imports #2699 (tgodzik)
- Update scalafmt to 3.0.0-RC1 #2726 (tgodzik)
- Treat .srcjar as jars #2710 (darl)
- Update ujson to 1.3.11 #2718 (scala-steward)
- Update scalameta, semanticdb-scalac, ... to 4.4.13 #2721 (scala-steward)
- Update directories to 26 #2719 (scala-steward)
- Update flyway-core to 7.7.3 #2720 (scala-steward)
- Update requests to 0.6.7 #2717 (scala-steward)
- Update pprint to 0.6.4 #2716 (scala-steward)
- Update geny to 0.6.8 #2715 (scala-steward)
- Update metaconfig-core to 0.9.11 #2713 (scala-steward)
- Update jackson-databind to 2.12.3 #2712 (scala-steward)
- Fix issues with DAP tests #2709 (tgodzik)
- Document Sublime support for metals/didFocusTextDocument #2711 (ayoub-benali)
- Add hint to welcome messages to use '-F' flag #2708 (tgodzik)
- Bump sbt-debug-adapter #2695 (adpi2)
- Add testframeworks back in to ensure tests run. #2705 (ckipp01)
- Bump sbt to 1.5.0 #2703 (ckipp01)
- Don't override testSettings in unit tests #2702 (tgodzik)
- Print exception stack trace in DAP tests #2696 (tgodzik)
- Update Bloop to the newest SNAPSHOT #2698 (tgodzik)
- Update Sublime Text documentation regarding Decoration protocol support #2701 (ayoub-benali)
- Make sure that a correct targetroot is reported #2693 (tgodzik)
- Offer organize imports when on an unused import. #2688 (ckipp01)
- Add code action to add/remove string interpolation #2682 (Giggiux)
- Update the documentation to recommend using company-capf #2672 (tototoshi)
- Typo in release notes #2684 (ckipp01)
- Add release notes for Metals v0.10.1 #2673 (tgodzik)