Metals Reimagined – LSP in the age of LLMs

Session Abstract

We are currently working on Metals 2, which is a new indexing and compilation approach, designed to make indexing as fast as possible and ensure the editor remains functional even if parts of the project fail to compile. Thanks to this even while working on large monorepos it should be possible to quickly set up your editor.

Session Description

Metals is the Scala and Java Language Server, providing IDE features within editors such as Visual Studio Code, Cursor, Zed, and Helix. This makes it essential for anyone looking to use new agentic tools. Many companies are now utilizing LLM trends to boost developer performance, but a major challenge has has been that Metals becomes less efficient as codebases scale—a common issue in large organizations.

Metals 2 is a new indexing and compilation approach, designed to make indexing as fast as possible and ensure the codebase remains functional even if parts of the project fail to compile. Applying this to both Scala and Java code, Metals 2 aims to become the premier JVM language server. We are currently cooperating with multiple large monorepos testing and further enriching this approach.

Let’s explore how this can enhance developer workflow to show the Scala developers that tooling can finally be great.

Talk
Tomasz Godzik
Tomasz Godzik

Lead Scala Developer

VirtusLab