vscode.md

December 4, 2024 ยท View on GitHub

Scala CLI can generate the files that are necessary for providing IDE support in Visual Studio Code.

For example, here is a simple project in scala-cli which contains only one main and one test class.

@main
def hello() = println("Hello, world")
//> using dep org.scalameta::munit::1.0.2

class MyTests extends munit.FunSuite {
  test("test") {
    val x = 2
    assertEquals(x, 2)
  }
}

The following command generates configuration files for VSCode support:

scala-cli setup-ide .

There is also another way. The first time you run the run|compile|test commands, the configuration files for the VSCode will be also generated.

scala-cli run .
# "Hello, world"

and then, we launch Visual Studio Code

code .

After starting metals, you will see the run/debug buttons in HelloWorld.scala and test/debug in MyTests.test.scala (assuming the following directory layout).

layout

Pressing the run button will run the Main.scala, the output will be visible in DebugConsole.

import VSCodeRun from '@site/static/img/vscode-run.png';

And the similar effect after pressing the test button.

import VSCodeTest from '@site/static/img/vscode-test.png';