本文轉載自https://blog.csdn.net/yongh701/article/details/48802541
故事背景:
因爲折騰於Java源代碼中文註釋亂碼問題,一個Project中不同的Source File得設置不同的編碼方式才能使中文顯示正常,幾番搗鼓過後,發現不管編碼方式是設爲UTF-8或是GBK都不行了,中文都會顯示亂碼。接着坑就來了,因爲點了ctrl+s,連撤銷都執行不了...於是在網上一通搜索,總算找到了該帖子的方法,發現Eclipse自帶類似版本控制的功能,便是救命的 "Local History"。
正文
儘管沒有SVN能服務器存儲代碼歷史,Eclipse也是可以利用本地歷史記錄回檔的,不然這它在初次啓動要設置工作空間幹嘛?
即使已經養成了隨手的Ctrl+S的習慣,但是改錯代碼不小心的Ctrl+S等欲哭無淚還是會發生,此時你可以利用Eclipse的本地歷史記錄回檔。
具體是右鍵你需要回檔的Java或者html等文件,選擇Compare With->Local History...
之後會看到最近修改的歷史記錄,這些時間點,都是近期的一次Ctrl+S,保護編譯的時候自動Save的情況,
這裏雖然可以直接Get Contents,但是還是建議Compare Current with Local或者Open,對比確認之後,才複製覆蓋替換。
很明顯和SVN一樣,Eclipse本身就利用工作空間實現了個人代碼管理。
當然,這個代碼保存是有時效的,過久時間Eclipse會自動清除以節約空間。具體多少時間可以如下設置。
在【窗口】->【首選項】->【常用】->【工作空間】->【本地歷史】,【Window】->【Preferences】->【General】->【Workspace】->【Local History】,或者通過搜索功能打開如下的設置窗口。
這三項分別是:
1、保留天數(每個修改記錄的最多保留天數);
2、最大歷史數量(每個文件修改所保留的最大版本數量);
3、每文件的最大文件大小(所有保留記錄最大佔用的空間);
我們可以根據自己的情況進行設置。然後就可以從文件列表中直接打開本地歷史記錄了,還集成了比較功能。
具體的保存位置就是這個項目的工作空間,具體在(Workspaces目錄)\Eclipse\.metadata\.plugins\org.eclipse.core.runtime\.settings這個文件夾,但是意義不大,裏面的文件不能直接編譯,用好本地回檔功能就好。
另外默認的是如果這個文件已經在CVS/SVN/GIT這類的版本管理中並且已經提交到服務器了,那麼本地的修改歷史會自動刪除,因爲我們可以從CVS/SVN/GIT上找回來。