IntelliJ IDEA 2024.3 Help

Reformat code

IntelliJ IDEA lets you reformat your code according to the requirements you've specified in your current code style scheme or the .editorconfig file. If anything is not defined in .editorconfig, it is taken from the project settings.

You can reformat a part of code, the whole file, a group of files, a directory, and a module. You can also exclude part of code or some files from the reformatting.

Reformat a code fragment

  1. In the editor, select a code fragment you want to reformat.

    Before reformatting, you can take a look at the code style settings that are applied to the selected code: press Alt+Enter and click Adjust code style settings.

  2. In the main menu, go to Code | Reformat Code or press Ctrl+Alt+L.

    Alternatively, on the toolbar that appears, click Reformat Code.

Reformat a file

  1. Either open your file in the editor and press Ctrl+Alt+Shift+L or in the Project tool window, right-click the file and select Reformat Code.

  2. 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.

      For more information, refer to the Optimize imports section.

    • Rearrange entries: select this option if you need to rearrange your code based on the arrangement rules specified in the code style settings.

    • 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.

  3. Click Run.

    Reformat file dialog

    If you want to see the exact changes made to your code during the reformatting, use the Local History feature.

Reformat a module or a directory

  1. In the Project tool window, right-click a module or a directory and select Reformat Code or press Ctrl+Alt+L.

  2. In the dialog that opens, specify the reformatting options.

    You can also apply filters to your code reformatting, such as specifying a scope or narrowing the reformatting to the specific file types.

    Module or directory reformat dialog

Reformat line indents

You can reformat line indents based on the specified settings.

  1. While in the editor, select the necessary code fragment and press Ctrl+Alt+I.

  2. If you need to adjust indentation settings, in the Settings dialog (Ctrl+Alt+S) , go to Editor | Code Style. Select the language for which you want to change indentation.

  3. On the Tabs and Indents tab, specify the appropriate indents options and click OK.

Automatically reformat code on save

You can configure the IDE to reformat code in modified files automatically when your changes are saved.

  1. Press Ctrl+Alt+S to open settings and then select Tools | Actions on Save.

  2. Enable the Reformat code option.

  3. 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.

Reformat code on commit

You can reformat your code automatically 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.

  1. Press Alt+0 to open the Commit tool window and click Show Commit Options the Settings button.

  2. 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.

Reformatting code on commit

Exclude files from reformatting

You can exclude a group of files and directories from reformatting, code arrangement, and import optimization.

  1. In the Settings dialog (Ctrl+Alt+S) , go to Editor | Code Style.

  2. 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 Expand icon, the field will expand, and each pattern will be shown on a separate line.

  3. Apply the changes and close the dialog.

    Specifying a glob pattern for excluding files from reformatting

Exclude code fragments from reformatting in the editor

  1. In the Settings dialog (Ctrl+Alt+S) , go to Editor | Code Style.

  2. Switch to the Formatter tab and enable the Turn formatter on/off with markers in code comments option.

  3. In the editor, at the beginning of a region that you want to exclude, create a line comment Ctrl+/ 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.

    Formatting markers

Example of using formatting markers

Keep existing formatting

You can select formatting rules which will be ignored when you reformat the code. For example, you can adjust the IDE to keep simple methods and functions in one line, whereas normally they are expanded into multiple lines after code reformatting.

  1. In the main menu, go to Settings | Editor | Code Style, select your programming language, and open the Wrapping and Braces tab.

  2. In the Keep when reformatting section, select the formatting rules which you want to ignore and deselect those which should be applied.

  3. Reformat your code (Ctrl+Alt+L).

IntelliJ IDEA will reformat your code in accordance with the current style settings, keeping existing formatting for the rules which you've selected.

Formatter settings

To access the settings, in the Settings dialog (Ctrl+Alt+S) , go to Editor | Code Style, and switch to the Formatter tab.

Item

Description

Do not format

In the Do not format field, specify a glob pattern with the names of files and directories that you want to exclude from reformatting, code arrangement, and import optimization, for example: *.{html,htm}.

You can specify several glob patterns separated with a semicolon ;.

Use the asterisk * wildcard to disable reformatting altogether.

Turn formatter on/off with markers in code comments

  • If this option is enabled, fragments of code between line comments with the formatting markers will be reformatted according to these markers: code fragments with on-markers will be reformatted, and the fragments with off-markers will remain intact after you reformat your code. See Example of using formatting markers.

    After you select this checkbox, the fields below become available, and you can specify the character strings to be treated as formatting markers.

  • If this option is disabled, the formatting markers will be ignored and the code between the line comments with markers will be reformatted.

Off:

In this field, specify the character string that will indicate the beginning of a code fragment which you want to exclude from reformatting. Type a character string with the @ symbol in preposition or leave the predefined value @formatter:off.

On:

In this field, specify the character string that will indicate the end of a code fragment which you want to exclude from reformatting. Type a character string with the @ symbol in preposition or leave the predefined value @formatter:on.

Enable regular expressions in formatter markers

Select this checkbox to use regular expressions instead of specifying the formatting markers explicitly. IntelliJ IDEA matches formatter on/off markers using the regular expression specified instead of the exact string.

For example, using regular expressions allows you to have several markers for enabling the formatter and for disabling it. In that case, you can use the following regular expressions: @formatter:(off|disable|no) and @formatter:(on|enable|yes).

See Example of using formatting markers for a demo.

Example of using different formatter markers
Last modified: 13 November 2024