Built-in formatter
RustRover lets you reformat your code according to the requirements you've specified in your current code style scheme.
note
By default, RustRover uses Rustfmt, a formatting tool that enforces the standard Rust-community code style. However, you can switch to the built-in formatter if needed. For information on how to disable Rustfmt, refer to the corresponding section.
You can use the built-in formatter to reformat a code fragment, a file, a group of files, a directory, as well as the whole Cargo project. You can also exclude part of code or some files from the reformatting.
In the editor, select a code fragment you want to reformat.
note
If you don't select a code fragment, RustRover will reformat the whole file. In this case, if Rustfmt is enabled, RustRover will format the file using Rustfmt instead of the built-in formatter.
Before reformatting, you can take a look at the code style settings that are applied to the selected code: press AltEnter and click Adjust code style settings.
In the main menu, go to Code | Reformat Code or press CtrlAlt0L.
Alternatively, on the toolbar that appears, click
Reformat Code.
note
To reformat with Rustfmt, refer to Reformat a file with Rustfmt.
Either open your file in the editor and press CtrlAltShift0L or in the Project tool window, right-click the file and select Reformat Code.
note
Keep pressing Shift and select additional files for a group reformatting.
In the Reformat File dialog that opens, if you need, select the following reformatting options:
Optimize imports: select this option if you want to remove unused imports, add missing ones, or organize import statements.
Code cleanup: select this option to run the code cleanup inspections.
Do not keep line breaks: reformat line breaks according to the code style settings. This option overrides the Keep when reformatting | Line breaks setting.
Click Run.
If you want to see the exact changes made to your code during the reformatting, use the Local History feature.
In the project view, right-click a folder and from the context menu, select Reformat Code or press CtrlAlt0L.
In the dialog that opens, specify the necessary options and click OK.
You can reformat line indents based on the specified settings.
While in the editor, select the necessary code fragment and press CtrlAlt0I.
If you need to adjust indentation settings, in the Settings dialog (CtrlAlt0S) , go to Editor | Code Style. Select the language for which you want to change indentation.
On the Tabs and Indents tab, specify the appropriate indents options and click OK.
note
In some cases, the option Detect and use existing file indents for editing located in the Indent Detection section in the Settings dialog (CtrlAlt0S) | Editor | Code Style can override your settings. In this case RustRover will display a notification.
You can configure the IDE to reformat code in modified files automatically when your changes are saved.
note
For Rust code, RustRover will use the formatter that is currently enabled.
Press CtrlAlt0S to open settings and then select Tools | Actions on Save.
Enable the Reformat code option.
Additionally, you can configure the way the IDE will reformat your code:
Click Configure scope to specify the patterns of filenames and directories that you want to exclude from reformatting.
From the All file types list, select the types of files in which you want to reformat code.
Select Whole file or Changed lines if your project is under version control.
If you select Changed lines, reformatting will apply only to the lines of code that have been changed locally, but not yet checked in to the repository.
warning
Due to certain Rustfmt limitations, to format Changed lines, RustRover will use the built-in formatter (even if Rustfmt is enabled).
You can reformat your code automatically with the built-in formatter when you commit your changes to the repository if your project is under version control. In this case, only the added or modified code will be reformatted.
note
note
If you prefer to use Rustfmt instead of the built-in formatter, refer to the Run Rustfmt on commit procedure.
Press Alt00 to open the Commit tool window and click Show Commit Options
.
Under the Commit Checks menu, enable the Reformat code option.
After you have enabled the option, the added or modified code will be reformatted every time you make a commit.

You can exclude a group of files and directories from reformatting and import optimization.
In the Settings dialog (CtrlAlt0S) , go to Editor | Code Style.
Switch to the Formatter tab and in the Do not format field, enter the files and directories that you want to exclude using a glob pattern.
You can specify several glob patterns separated with a semicolon
;
. If you click, the field will expand, and each pattern will be shown on a separate line.
tip
Enter the asterisk
*
wildcard to disable reformatting altogether.Apply the changes and close the dialog.
In the Settings dialog (CtrlAlt0S) , go to Editor | Code Style.
Switch to the Formatter tab and enable the Turn formatter on/off with markers in code comments option.
In the editor, at the beginning of a region that you want to exclude, create a line comment Ctrl0/ and type
@formatter:off
. At the end of the region, create another line comment and type@formatter :on
.The code between the markers won't be reformatted.
Thanks for your feedback!