Metals - your next IDE?
summary
Metals claims to turn editors like VS Code, Emacs or Vim into full IDEs by implementing Language Server Protocol features such as go to definition, completion, rename and diagnostics. It integrates with SBT Maven Mill Gradle via bloop, generates semantic indexes with semanticdb, caches the presentation compiler, disables irrelevant plugins and drops stale requests for speed. It already finds thousands of references, serves type/implementation lookups and proxies debugging via the Debug Adapter Protocol with breakpoints working.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 0:31Questions
- 0:56Why am I here
- 1:37Who works on Metals
- 2:23Why use IntelliJ
- 3:29LSP
- 4:27Supported languages
- 5:29JSONRPC
- 6:12Communication
- 6:34Main pieces
- 6:54Dependencies
- 7:45Bloop
- 9:19Semantic information
- 11:24Presentation Compiler
- 11:57SkeletonPyre
- 12:40Scope
- 15:54Build Tools
- 16:54Completions
- 17:42Symbols
- 18:46Formatting
- 19:34Supported editors
- 19:58Emacs
- 20:19Sublime
- 20:41Eclipse
- 25:01Compiler Plugin
- 26:03Implementation Plugin
- 27:37Implementation Plugin Example
- 28:06Debug Adapter
- 28:44How it works
- 30:09breakpoints
- 31:27roadmap
- 36:09argument to switch
- 41:32what would I lose
related talks
47mMetals rich code editing for Scala in VS Code Vim Emacs
46mSix steps from zero to IDE
41mUnleashing the Full Potential of Metals
38mThe Battle of the IDEs (Pokemons)
33mWRITING SCALA OUTSIDE IF INTELLIJ IDEA
24mState of the Reason Editor integration
48mVisual Studio Code can do that?
40mIntegrating IDEs with Dotty the experimental Scala compiler
