Skip to content

Commit f66431c

Browse files
committed
Address review comments
1 parent 7095cff commit f66431c

File tree

1 file changed

+34
-14
lines changed

1 file changed

+34
-14
lines changed

_posts/2019-04-16-metals.md

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,31 @@ We are excited to announce the release of
99
[Metals v0.5](https://scalameta.org/metals/blog/2020/04/12/mercury.html). Metals
1010
is a Scala language server that supports code completions, type at point, goto
1111
definition, fuzzy symbol search and other advanced code editing and navigation
12-
capabilities. Metals can be used in VS Code, Vim, Emacs, Atom and Sublime Text
13-
as well as any other
12+
capabilities.
13+
14+
Metals can be used in VS Code, Vim, Emacs, Atom and Sublime Text as well as any
15+
other
1416
[Language Server Protocol](https://microsoft.github.io/language-server-protocol/)
15-
compatible editor. Metals is developed at the
16-
[Scala Center](https://scala.epfl.ch/) along with contributors from the
17-
community.
17+
compatible editor. Metals works with sbt, Gradle, Maven and Mill thanks to
18+
[Bloop](https://scalacenter.github.io/bloop/), a fast Scala build server. Adding
19+
support for other build tools is possible through the
20+
[Build Server Protocol](https://github.com/scalacenter/bsp/blob/master/docs/bsp.md).
21+
22+
Metals is developed at the [Scala Center](https://scala.epfl.ch/) along with
23+
contributors from the community.
1824

1925
## Features
2026

21-
This post we are going to demonstrate how to use Metals with VS Code. To get
27+
In this post we are going to demonstrate how to use Metals with VS Code. To get
2228
started, install the
2329
[Scala (Metals)](https://marketplace.visualstudio.com/items?itemName=scalameta.metals)
2430
extension on the VS Code Marketplace and open an sbt project directory. The
2531
Metals extension will prompt you to import the build.
2632

2733
![Import sbt build](https://i.imgur.com/0VqZWay.png)
2834

29-
The build import is handled by [Bloop](https://scalacenter.github.io/bloop/), a
30-
Scala build server. Adding support for other build tools is possible through the
31-
[Build Server Protocol](https://github.com/scalacenter/bsp/blob/master/docs/bsp.md).
32-
33-
Importing the project can take a while to run, once complete you can enjoy the
34-
features of Metals.
35+
The build import step can take a while to run and once complete, you can enjoy
36+
the features of Metals.
3537

3638
### Diagnostics
3739

@@ -42,7 +44,7 @@ Syntax errors update as you type and type errors are published on file save.
4244
A
4345
[separate `bloop` command-line interface](https://scalacenter.github.io/bloop/setup)
4446
can be installed to test and run programs from a terminal using the same
45-
compilation as Metals.
47+
compilation artifacts as Metals.
4648

4749
### Type at point
4850

@@ -110,11 +112,29 @@ several impressive pull requests:
110112
of a symbol in the current file.
111113
- `textDocument/completion`
112114
([#640](https://github.com/scalameta/metals/pull/640)): override def
113-
completions from without the need to type "override def ".
115+
completions without the need to type "override def ".
114116

115117
It is our pleasure to welcome Marek and Tomasz to the team and we look forward
116118
to working together with them to improve the Scala code editing experience.
117119

120+
## Future work
121+
122+
Metals currently does not support several common IDE features:
123+
124+
- Refactorings such as rename symbol, add missing import, add inferred result
125+
type, move class, extract value.
126+
- Running a main function or unit test with attached debugger.
127+
- Triggering code completions, type at point and goto definition in `*.sbt`
128+
files.
129+
- Working with hybrid `*.scala` and `*.java` projects, although you can try
130+
using the
131+
[Eclipse Java Language Server](https://github.com/eclipse/eclipse.jdt.ls) for
132+
editing `*.java` only projects.
133+
134+
Metals may not be a good fit if you frequently rely on these features. You might
135+
want to try [IntelliJ IDEA](https://www.jetbrains.com/idea/) instead, which has
136+
great Scala support and implements all of the features listed above.
137+
118138
## Share your feedback
119139

120140
Please give Metals a try and share your feedback on

0 commit comments

Comments
 (0)