Metals - building rich IDE features beyond the Language Server Protocol
summary
Metals, a Scala language server, extends LSP with Debug Adapter Protocol, Tree View Protocol and Build Server Protocol (BSP) to provide run/test/debug and project explorers; it proxies debugging to bloop so run buttons and soon breakpoint debugging (step/variables, Java stepping) work across editors. It adds rename and find-implementation, a tree view that lists dependency classes and per-module compile progress, and worksheets that evaluate on save (≈200 ms for small files) with runtime diagnostics and captured output.
AI-written summary · about
chapters (8)
- 0:00Introduction and speaker background
- 1:25The IDE gap and LSP limitations
- 5:45Debug adapters for running and testing
- 11:57Tree views beyond file explorers
- 17:56Worksheets for live code evaluation
- 24:30Build servers and BSP integration
- 26:41Closing the feature parity gap
- 27:25Q&A
related talks
44mIntegrating IDEs with Dotty, The Experimental Scala Compiler
40mIntegrating IDEs with Dotty the experimental Scala compiler
01h 37mHands-on Scala.Meta
36mExperiences Building a Language Server Protocol Plugin
44mMetaprogramming 2.0
16mTool Talk: MagpieBridge
48mMetaprogramming 2.0
39mIDE development with Ruby
