Metals works with the following build tools with varying degree of functionality.
|Build tool||Installation||Goto library dependencies||Find references|
Automatic: you can import the build directly from the language server without the need for running custom steps in the terminal. To use automatic installation start the Metals language server in the root directory of your build.
Manual: setting up Metals requires a few manual steps to generate
Bloop JSON files. In addition to normal
Bloop installation, Metals requires that the project sources are compiled with
compiler plugin and
-Yrangepos option enabled.
Goto library dependencies
Automatic: it is possible to navigate Scala+Java library dependencies using "Goto definition".
Semi-automatic: navigation in library dependency sources works as
long as the
Bloop JSON files
are populated with
Automatic: it is possible to find all references to a symbol in the project
Semi-automatic: it is possible to 'Find symbol references' as soon the SemanticDB compiler plugin is manually enabled in the build, check separate build tool pages for details.