Instead of the default IntelliJ IDEA formatter, you can enable the Scalafmt formatter in your project.
To configure the Scalafmt formatter, in the Settings dialog (Ctrl+Alt+S) , go to , and select Scalafmt from the Formatter drop-down list. You will see that the list of tabs under the formatter field has changed.
Scalafmt has the following formatting 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.conf file with the specified formatter version in your project, it uses the current default Scalafmt version. You can override the default version.
Override the Scalafmt version
Create the .scalafmt.conf 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. Then go to or choose Ctrl+Alt+L.
If you need to add additional options before reformatting, go to Reformat File dialog make the required settings.(Ctrl+Alt+Shift+L) and in the
For more information about reformatting code, refer to Reformat code.