Metals rich code editing for Scala in VS Code Vim Emacs
summary
Metals provides fast, practical Scala editing: VS Code/Vim/Emacs clients talk to Bloop over the Build Server Protocol and Metals publishes diagnostics from the build so editor errors match CI, shares compilation with tests, and avoids classpath drift. Completions use a retained presentation compiler with tricks that cut a cold completion to 90 ms / 40 ms warm, and features include exhaustive-match, auto-imports and parameter hints; the system is production-ready and already used across five editors.
AI-written summary · about
chapters (28)
- 0:00Intro
- 2:35#1 Beginner question
- 4:03Scala Editor Usage
- 4:39Global Editor Usage
- 5:47Editor gap
- 11:04Two case studies
- 11:50Case study 1: Diagnostics
- 12:31Diagnostics: two approaches
- 13:23Diagnostics from the build
- 15:03Slow feedback
- 17:20Build Server Protocol
- 19:12Requires file save
- 21:10Case study 2: Completions
- 21:51Presentation compiler
- 24:55Pattern matching
- 26:55Override method
- 28:28Name conflicts
- 30:16Performance
- 30:50Caching
- 32:17Compiler plugins
- 34:18Blackbox macros
- 35:27Blackbox vs. Whitebox
- 36:24Cancellation
- 39:13A lot of features
- 39:41Visual Studio Code
- 43:12Emacs
- 43:49Sublime Text
- 45:23Future work








