# Save and revert changes

IntelliJ IDEA automatically saves changes that you make in your files. Saving is triggered by various events, such as compiling, running, debugging, performing version control operations, closing a file or a project, or quitting the IDE. Saving files can be also triggered by third-party [plugins](managing-plugins.html).

Most of the events that trigger auto-save are predefined and cannot be configured, but you can be sure that changes will not be lost  and you can find all of them in [local history](local-history.html) .

Procedure: Configure autosave behavior

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), select `Appearance & Behavior | System Settings`.

2. Under Sync external changes, configure the following options:

* Save files when switching to a different application or a built-in terminal: Save all modified files when you switch from IntelliJ IDEA to a different application.

* Save files if the IDE is idle for N seconds: Save all modified files at regular time intervals.

3. Apply the changes and close the dialog.

Procedure: Mark files with unsaved changes

You can mark unsaved files on the file tab:

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), select `Editor | General | Editor Tabs`.

2. Select the Mark modified checkbox.

3. Apply the changes and close the dialog.

After that, the tab of the file in which you have unsaved changes will be marked with a blue dot.

![Modified file marked with asterisk](https://resources.jetbrains.com.cn/help/img/idea/2026.2/modified-files-asterisk.png)

If you use [version control integration](version-control-integration.html), names of all modified files will be also marked with a [dedicated color](adding-files-to-version-control.html#file_status) on the file tab and in the Project tool window.

## Save changes manually

Procedure:

You can always save your changes manually:

* Press `Ctrl+S` (Windows), `⌘ S` (macOS), `⌘ S` (IntelliJ IDEA Classic (macOS)), `⌘ S` (macOS System Shortcuts), `Ctrl+S` (XWin), `Ctrl+S` (GNOME), `Ctrl+S` (KDE), `Ctrl+X, Ctrl+S` (Emacs), `Ctrl+S` (Sublime Text), `⌘ S` (Sublime Text (macOS)), `Ctrl+S` (NetBeans), `Ctrl+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS)) or select `File | Save All` from the main menu.

## Trigger actions when saving changes

In IntelliJ IDEA, you can configure the actions that will be triggered every time your modified files are saved.

Procedure:

1. To configure autosave actions for the current project,   in the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), open `Tools | Actions on Save`.

To configure the actions for new projects,  go to `File | New Projects Setup | Settings for New Projects | Tools | Actions on Save` in the main menu.

2. Select the checkboxes next to the actions that you want to trigger on save:

* [Reformat code](reformat-and-rearrange-code.html#reformat-on-save): reformat your code according to your current code style settings.

* [Optimize imports](creating-and-optimizing-imports.html#optimize-on-save) : remove unused imports and organize import statements according to your current code style settings.

* [Rearrange code](reformat-and-rearrange-code.html): reorder code elements according to your current code style settings.

* [Run code cleanup](resolving-problems.html#code-cleanup): batch-apply quick-fixes from code cleanup inspections. Use the Project Profile drop-down list to select the inspection [profile](customizing-profiles.html) from which the IDE will run inspections.

* [Update copyright notice](copyright.html): update information in copyright notices in project files.

* [Run stylelint --fix](using-stylelint-code-quality-tool.html): (IntelliJ IDEA Ultimate) fix the detected problems with Stylelint.

* [Run eslint --fix](eslint.html): (IntelliJ IDEA Ultimate) fix the detected problems with ESlint. Enabling this option also enables [Run eslint --fix on save](eslint.html#ws_eslint_configure_run_eslint_on_save).

* [Run Prettier](prettier.html#ws_prettier_reformat_code): reformat your code with Prettier.

* [Upload to default server](uploading-and-downloading-files.html) : (IntelliJ IDEA Ultimate) upload modified files to your default deployment server. Enabling this option also enables [Upload changed files automatically to the default server](uploading-and-downloading-files.html#autoupload_definitions) .

* [Build project](compiling-applications.html#compile_module): compile all the classes inside your build target and place them inside the output directory. Enabling this option also enables [Build project automatically](compiling-applications.html#auto-build).

3. For some actions, you can configure the settings more precisely. To do so, hover over an action and click the configuration link.

For example, for code reformatting, you can specify files and folders that you don't want to change. Hover over the action and click  Configure scope…  to exclude specific files and folders from reformatting.

You can also select whether to reformat the whole file or only modified lines.

4. Apply the changes and close the dialog.

![Settings: Actions on save](https://resources.jetbrains.com.cn/help/img/idea/2026.2/actions-on-save.png)

Once the necessary actions are enabled, they  will be automatically triggered on every save (autosave, explicit save invoked with `Ctrl+S` (Windows), `⌘ S` (macOS), `⌘ S` (IntelliJ IDEA Classic (macOS)), `⌘ S` (macOS System Shortcuts), `Ctrl+S` (XWin), `Ctrl+S` (GNOME), `Ctrl+S` (KDE), `Ctrl+X, Ctrl+S` (Emacs), `Ctrl+S` (Sublime Text), `⌘ S` (Sublime Text (macOS)), `Ctrl+S` (NetBeans), `Ctrl+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS)) or by selecting `File | Save All`) as you work with your project.

## Revert changes

Procedure:

* For the most recent changes, including [refactorings](refactoring-source-code.html) , press `Ctrl+Z` (Windows), `⌘ Z` (macOS), `⌘ Z` (IntelliJ IDEA Classic (macOS)), `⌘ Z` (macOS System Shortcuts), `Ctrl+Z` (XWin), `Ctrl+Z` (GNOME), `Ctrl+Z` (KDE), `Ctrl+Shift+Minus` (Emacs), `Ctrl+Z` (Sublime Text), `⌘ Z` (Sublime Text (macOS)), `Ctrl+Z` (NetBeans), `Ctrl+Z` (Visual Studio), `⌘ Z` (Visual Studio (macOS)), `Ctrl+Z` (Eclipse), `⌘ Z` (Eclipse (macOS)) or choose `Edit | Undo` from the menu.

* For a more detailed view of past changes, use [Local History](local-history.html).

* For the most robust tracking of all changes, use a [version control system](version-control-integration.html).

## See also

### Procedures

[Version control](version-control-integration.html)

### Concepts

[Local History](local-history.html)

