IntelliJ IDEA 關閉自動存檔
Contents
IntelliJ IDEA 預設開啟自動存檔功能,在閒置一段時間或切換到其他應用程式時會自動儲存所有變更。雖然這對大多數情境很方便,但在某些場景下(如直接修改 production 設定檔,或不想讓 Git 看到 dirty state)可能造成困擾。
IntelliJ IDEA 的自動存檔機制
IDEA 的自動存檔有兩個觸發時機:
- 閒置自動存檔:在設定的時間(預設 15 秒)內沒有鍵盤操作,自動儲存
- 切換應用程式時自動存檔:當你切換到其他視窗時,自動儲存所有已修改的檔案
不像 VS Code 有明顯的「未儲存」圓點標示,IDEA 修改過的檔案只有顏色上的差異(標籤文字變為藍色),沒有自動存檔就更難察覺修改狀態。
為什麼有時不希望自動存檔?
- 直接編輯 production 設定檔:在伺服器上直接編輯設定,不想存到一半就儲存
- Git dirty state:自動存檔後 Git 立即偵測到變更,影響
git status的可讀性 - 意外修改:不小心改到檔案,希望能用「關閉不儲存」還原
- 非 Git 專案:沒有版本控制時,一旦自動存檔就無法還原
關閉自動存檔的步驟
IDEA 2022 以前版本
- 開啟 File → Settings(Windows/Linux)或 IntelliJ IDEA → Preferences(macOS)
- 展開 Appearance & Behavior → System Settings
- 在 Synchronization 區塊,取消以下選項:
Save files on frame deactivation(切換應用時存檔)Save files automatically if application is idle for N seconds(閒置自動存檔)
IDEA 2022 以後版本
新版本將設定路徑調整為:
- 開啟 File → Settings
- 展開 Appearance & Behavior → System Settings
- 在 Autosave 區塊,取消:
Save files when switching to a different application or a built-in terminalSave files if the IDE is idle for 15 seconds
啟用未儲存的檔案標示
關閉自動存檔後,建議同時開啟「未儲存標示」,讓你清楚知道哪些檔案有未存的修改:
- 同樣在 Settings → Editor → General → Editor Tabs
- 勾選
Mark modified (*)(在標籤顯示星號)
替代方案:使用 VCS Shelf 暫存修改
如果是因為想暫時保存修改但不想 commit,可以用 IDEA 的 Shelf 功能(類似 git stash):
- 選取要暫存的檔案,右鍵 → Git → Shelve Changes…
- 輸入說明,點 Shelve
- 需要時從 Git → Shelf 面板還原
社群觀點
IDEA 的設計哲學是「自動存檔 + Git 版本控制」搭配使用。因為 IDEA 內建強大的 Local History 功能(即使沒有 Git,也可以從 View → Local History 找回任何修改紀錄),所以官方並不鼓勵完全關閉自動存檔。視情況選擇最適合自己工作流程的設定即可。