IntelliJ IDEA lets you integrate with Scalafmt formatter.
Configure ScalafmtYou can enable Scala formatter in your project and configure the formatter settings.
In the Settings/Preferences dialog Ctrl+Alt+S, go to .
- On the Scalafmt tab, in the Formatter field, select scalafmt to enable the formatter.
Check the following notable Scalafmt formatter options:
Use IntelliJ formatter for code range formatting: this option is selected by default. When you reformat a code selection in the editor, it will be reformatted with the default IntelliJ IDEA formatter. The code selection formatting is also applied to code snippets generated with various actions and live templates. The Scalafmt formatter can only reformat the entire file.
Reformat on file save: if you select this option, IntelliJ IDEA reformats a file when you save it Ctrl+S, switch between the active editor and tool windows, or execute a run/debug configuration.
Configuration: if IntelliJ IDEA does not find the .scalafmt.config file with the specified formatter version in your project, it uses the current default Scalafmt version (1.5.1). You can override the default version if you need.
Override the Scalafmt version
Create the .scalafmt.config file in the root of your project. Right-click your project and select .
Open the configuration file in the editor and specify the Scalafmt version you want to use along with other formatting options.
- Access the Scala formatter settings. IntelliJ IDEA reflects your changes for Scalafmt under the Configuration option.
Reformat Scala code in the editor
In the editor, select code that you want to reformat. The code selection is reformatted by IntelliJ IDEA since the Scalafmt formatter can be applied to the entire file only. If you do not make any selection, IntelliJ IDEA will reformat the whole file using Scalafmt.
From the main menu, selectCtrl+Alt+L.
If you need to add additional options before reformatting, from the main menu, select Reformat File dialog make the required settings.Ctrl+Alt+Shift+L and in the
For more information on reformatting code, refer to Reformat and rearrange code.