Contents

IntelliJ IDEA 關閉自動存檔

IntelliJ IDEA 預設開啟自動存檔功能,在閒置一段時間或切換到其他應用程式時會自動儲存所有變更。雖然這對大多數情境很方便,但在某些場景下(如直接修改 production 設定檔,或不想讓 Git 看到 dirty state)可能造成困擾。

IntelliJ IDEA 的自動存檔機制

IDEA 的自動存檔有兩個觸發時機:

  1. 閒置自動存檔:在設定的時間(預設 15 秒)內沒有鍵盤操作,自動儲存
  2. 切換應用程式時自動存檔:當你切換到其他視窗時,自動儲存所有已修改的檔案

不像 VS Code 有明顯的「未儲存」圓點標示,IDEA 修改過的檔案只有顏色上的差異(標籤文字變為藍色),沒有自動存檔就更難察覺修改狀態。

為什麼有時不希望自動存檔?

  • 直接編輯 production 設定檔:在伺服器上直接編輯設定,不想存到一半就儲存
  • Git dirty state:自動存檔後 Git 立即偵測到變更,影響 git status 的可讀性
  • 意外修改:不小心改到檔案,希望能用「關閉不儲存」還原
  • 非 Git 專案:沒有版本控制時,一旦自動存檔就無法還原

關閉自動存檔的步驟

IDEA 2022 以前版本

  1. 開啟 File → Settings(Windows/Linux)或 IntelliJ IDEA → Preferences(macOS)
  2. 展開 Appearance & Behavior → System Settings
  3. Synchronization 區塊,取消以下選項:
    • Save files on frame deactivation(切換應用時存檔)
    • Save files automatically if application is idle for N seconds(閒置自動存檔)

IDEA 2022 以後版本

新版本將設定路徑調整為:

  1. 開啟 File → Settings
  2. 展開 Appearance & Behavior → System Settings
  3. Autosave 區塊,取消:
    • Save files when switching to a different application or a built-in terminal
    • Save files if the IDE is idle for 15 seconds

啟用未儲存的檔案標示

關閉自動存檔後,建議同時開啟「未儲存標示」,讓你清楚知道哪些檔案有未存的修改:

  1. 同樣在 Settings → Editor → General → Editor Tabs
  2. 勾選 Mark modified (*)(在標籤顯示星號)

替代方案:使用 VCS Shelf 暫存修改

如果是因為想暫時保存修改但不想 commit,可以用 IDEA 的 Shelf 功能(類似 git stash):

  1. 選取要暫存的檔案,右鍵 → Git → Shelve Changes…
  2. 輸入說明,點 Shelve
  3. 需要時從 Git → Shelf 面板還原

社群觀點

IDEA 的設計哲學是「自動存檔 + Git 版本控制」搭配使用。因為 IDEA 內建強大的 Local History 功能(即使沒有 Git,也可以從 View → Local History 找回任何修改紀錄),所以官方並不鼓勵完全關閉自動存檔。視情況選擇最適合自己工作流程的設定即可。

參考資料