flatMap(Oslo) 2018
3-4 May 2018, Oslo Norway

Six steps from zero to IDE

Presentation

“The Scala IDE situation is quite possibly the worst out of all the industrial languages in existence. They’re all terrible, especially VS Code or Atom. Just use IntelliJ and hope for the best.”
r/scala, 10 points, 2 days ago

Why is it so hard to build a good IDE for Scala? Compared to JavaScript or Clojure, one would think that static types in Scala make it easier to provide a great editor experience. With the introduction of the Language Server Protocol, things may be changing for the better.

The Language Server Protocol aims to solve a long-standing issue: implement a “language server” once and automatically support a wide range of client editors. The protocol was published in 2016 and has since then gained significant traction with implementation for over 26 programming languages and most major editors. A search on the VS Code extension marketplace yields 5 (!) hits for Scala language servers. A working group has recently been elected by the community to consolidate efforts around Scala language servers.

In this talk, you will learn about the Language Server Protocol, how it’s impacting the future of Scala tooling and help you explore the zoo of ongoing efforts to build Scala language servers. I will share my experiences from implementing Metals, a language server that supports completions, code navigation, refactoring, linting and formatting, build and test. Hopefully, you will become inspired at the end to join the efforts in building a bright future for Scala tooling.

Ólafur Páll Geirsson

Ólafur Páll Geirsson

@olafurpg

Ólafur Páll Geirsson is a software developer at the Scala Center where he works on developer tools. He is the author of scalafmt and scalafix. When Ólafur is not coding, he likes to bike up mountain Fløyen in Bergen where he lives half of the time.