# 保存并撤销更改

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

IntelliJ IDEA 会自动保存您在文件中所做的更改。 保存由多种事件触发，例如编译、运行、调试、执行版本控制操作、关闭文件或项目，或退出 IDE。 也可以通过第三方 [插件](managing-plugins.html)触发保存文件。

大多数自动保存触发器都是预定义的。 您可以在设置中配置其他触发器。 [本地历史记录](local-history.html)可以帮助您恢复最近的编辑，但存在保留期限和大小限制，不能替代版本控制或备份。

Procedure: 配置自动保存行为

1. 在   设置  对话框（ `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` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中，选择  `外观与行为 | 系统设置` 。

2. 在   同步外部更改  下，配置以下选项：

* 切换到其他应用程序或内置终端时保存文件 ：切换 IntelliJ IDEA 到其他应用程序时保存所有已修改的文件。

* 当 IDE 空闲 N 秒时保存文件。 : IDE 空闲指定秒数后，保存所有已修改的文件。

3. 应用更改并关闭对话框。

Procedure: 标记未保存更改的文件

您可以在文件选项卡上标记未保存的文件：

1. 在   设置  对话框（ `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` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中，选择  `编辑器 | 通用 | 编辑器选项卡` 。

2. 请选择   标记已修改   复选框。

3. 应用更改并关闭对话框。

之后，您有未保存更改的文件标签会标记为蓝点。

![修改后的文件标有星号](https://resources.jetbrains.com/help/img/idea/2026.3/modified-files-asterisk.png)

如果您使用 [版本控制集成](version-control-integration.html)，所有已修改文件的名称也会在文件选项卡和   项目  工具窗口中标上一个 [专用颜色](adding-files-to-version-control.html#file_status)。

## 手动保存更改

Procedure:

您始终可以手动保存您的更改：

* 按 `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+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (NetBeans), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS)) 或从主菜单中选择  `文件 | 全部保存` 。

## 保存更改时触发操作

在 IntelliJ IDEA 中，您可以配置每次保存修改文件时触发的操作。

Procedure:

1. 要为当前项目配置自动保存操作，请在   设置  对话框（ `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` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中打开  `工具 | 保存时的操作` 。

要配置新项目的操作，请转到主菜单中的  `文件 | 新建项目设置 | 新建项目设置 | 工具 | 保存时的操作` 。

2. 请在保存时触发的操作旁选中复选框：

* [重新格式化代码](reformat-and-rearrange-code.html#reformat-on-save)：根据您当前的代码样式设置重新格式化代码。

* [优化导入](creating-and-optimizing-imports.html#optimize-on-save)：删除未使用的导入并根据当前的代码风格设置组织导入语句。

* [重新排列代码](null)：根据当前的代码样式设置重新排序代码元素。

* [运行代码清理](resolving-problems.html#code-cleanup)：批量应用代码清理检查中的快速修复。 使用 项目配置文件 下拉列表选择 IDE 将运行检查的检查 [配置文件](customizing-profiles.html)。

* [更新版权声明](copyright.html)：更新项目文件中的版权声明信息。

* [运行 stylelint --fix](using-stylelint-code-quality-tool.html)：（IntelliJ IDEA Ultimate）使用 Stylelint 修复检测到的问题。

* [运行 eslint --fix](eslint.html): （IntelliJ IDEA Ultimate）使用 ESlint 修复检测到的问题。 启用此选项也会启用 [Run eslint --fix on save](eslint.html#ws_eslint_configure_run_eslint_on_save)。

* [运行 Prettier](prettier.html#ws_prettier_reformat_code)：使用 Prettier 重新格式化您的代码。

* [上传到默认服务器](uploading-and-downloading-files.html)：(IntelliJ IDEA Ultimate)将已修改的文件上传到您的默认部署服务器。 启用此选项还会启用 [自动将更改的文件上传到默认服务器](uploading-and-downloading-files.html#autoupload_definitions)。

* [构建项目](compiling-applications.html#compile_module)：编译构建目标中的所有类并将它们放在输出目录中。 启用此选项还会启用 [Build project automatically](compiling-applications.html#auto-build)。

3. 对于某些操作，您可以更精确地配置设置。 要执行此操作，请将鼠标悬停在操作上，然后点击配置链接。

例如，对于代码重格式化，您可以指定不想更改的文件和文件夹。 将鼠标悬停在操作上，然后点击   配置作用域…   以排除特定文件和文件夹的格式化。

您还可以选择重新格式化整个文件或仅修改的行。

4. 应用更改并关闭对话框。

![设置：保存时的操作](https://resources.jetbrains.com/help/img/idea/2026.3/actions-on-save.png)

启用必要的操作后，它们将在每次保存时（自动保存、通过 `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+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (NetBeans), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS))显式保存或通过选择  `文件 | 全部保存` 触发）自动执行，帮助您处理项目。

## 还原更改

Procedure:

* 如需了解最新的更改，包括 [重构](refactoring-source-code.html)，请按 `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` (Visual Studio), `⌘ Z` (Visual Studio (macOS)), `Ctrl+Z` (NetBeans), `Ctrl+Z` (Eclipse), `⌘ Z` (Eclipse (macOS)) 或从菜单中选择  `编辑 | 撤销` 。

* 要查看过去更详细的更改，请使用 [本地历史记录](local-history.html)。

* 为了最强大的所有更改跟踪，使用 [版本控制系统](version-control-integration.html)。

## See also

### 过程

[版本控制](version-control-integration.html)

### 概念

[本地历史记录](local-history.html)

