1. 程式人生 > >Eclipse的設定、調優、使用(解決啟動卡頓等問題)

Eclipse的設定、調優、使用(解決啟動卡頓等問題)

eclipse調優
一般在不對eclipse進行相關設定的時候,使用eclipse總是會覺得啟動好慢,用起來好卡,其實只要對eclipse的相關引數進行一些配置,就會有很大的改善。 
加快啟動速度
1.在eclipse啟動的時候,它總是會搜尋讓其執行的jre,往往就是這個搜尋過程讓eclipse啟動變慢了。(沒設定時,等2-3s出現進度條,設定後直接出現進度條) 

只要在eclipse.ini中加入-vm的引數就可以了 


2.取消所有啟動時要啟用的外掛(在用時啟用也一樣)和其它的相關的在啟動時執行的操作。 


3.關閉自動更新 



減少jvm記憶體回收引起的eclipse卡的問題
這個主要是jvm在client模式,進行記憶體回收時,會停下所有的其它工作,帶回收完畢才去執行其它任務,在這期間eclipse就卡住了。所以適當的增加jvm申請的記憶體大小來減少其回收的次數甚至不回收,就會是卡的現象有明顯改善。 


主要通過以下的幾個jvm引數來設定堆記憶體的: 

-Xmx512m 最大總堆記憶體,一般設定為實體記憶體的1/4
-Xms512m 初始總堆記憶體,一般將它設定的和最大堆記憶體一樣大,這樣就不需要根據當前堆使用情況而調整堆的大小了
-Xmn192m 年輕帶堆記憶體,sun官方推薦為整個堆的3/8
堆記憶體的組成 總堆記憶體 = 年輕帶堆記憶體 + 年老帶堆記憶體 + 持久帶堆記憶體
年輕帶堆記憶體 物件剛創建出來時放在這裡
年老帶堆記憶體 物件在被真正會回收之前會先放在這裡
持久帶堆記憶體 class檔案,元資料等放在這裡
-XX:PermSize=128m 持久帶堆的初始大小
-XX:MaxPermSize=128m 持久帶堆的最大大小,eclipse預設為256m。如果要編譯jdk這種,一定要把這個設的很大,因為它的類太多了。

我的配置(2g記憶體的筆記本): 

還有其它的相關引數可以看看下面的參考材料,很有啟發的: 
-XX:+UseParallelGC 使用併發記憶體回收 
-XX:+DisableExplicitGC 禁用System.gc()的顯示記憶體回收 

eclipse相關設定來來減少卡的現象
1.關閉自動構建。在啟用時,每儲存一下,eclipse就會自動為我們構建整個專案,這樣對於大的專案來說,每次儲存時都會造成很卡。其實自動構建完全沒有必要,只要保證在執行前構建一次就ok了,eclipse也會在執行前自動為我們構建,所以關閉是最明智的選擇。 



2.關閉拼寫檢查設定 


3.關閉SaveAction。在每次儲存時都會執行的操作,這個會嚴重的拖慢儲存,特別是檔案大時。這個其實只要自己養成良好的程式設計習慣,就完全不需要這個了。 


4.優化程式碼提示。 


5.eclipse按Ctrl鍵卡死的問題解決方法 
在eclipse中編輯3萬行左右的程式碼時,在用ctrl+c/v複製時eclipse經常會卡住較長的時間。 
後來發現只要按下ctrl鍵就會卡,我猜測應該是因為eclipse中按住ctrl後可以用滑鼠單擊跳轉到變數定義的地方,所以當按下ctrl鍵時eclipse會去生成這個對映,當檔案比較大時,這個行為會花費比較多的時間,非常不爽,經過一番查詢才知道,可以通過以下方法設定快捷鍵。 

Eclipse -- Windows->Preferences->General->Editors->Text Editors->Hyperlinking: 
去掉這個選項:Enable on demand hyperlinks style navigation 
或者將你不想做Ctrl跳轉的檔案不選即可! 


其它的優化連結
http://wcgdonot.iteye.com/blog/1380429 


參考材料
jvm啟動引數大全:http://www.blogjava.net/midstr/archive/2008/09/21/230265.html
jvm結構的一些知識(其中的堆的構成):http://hllvm.group.iteye.com/group/wiki/2905-JVM
jvm堆知識:http://ruijf.iteye.com/blog/1028455
eclipse啟動調優:http://www.iteye.com/topic/756538
eclipse自帶的help contents(搜尋"Running Eclipse"可以找到啟動相關的配置) 


eclipse設定
eclipse的使用,在其help檔案中都有詳細的介紹如何使用的,一般可以去那邊找。 
程式碼摺疊設定


快捷鍵設定


編譯器錯誤、警告設定


本地歷史設定


程式碼格式化設定


庫設定


文字編輯器設定


讓eclipse能啟動多個例項


工作空間設定


xml編輯器設定


外觀設定


程式碼格式化風格設定


滑鼠over程式碼等時的提示設定


建立新檔案時生成檔案的模版設定


junit launcher設定。在開發android時,如果用eclipse內建的launcher是不行的,必須用android提供的。


eclipse使用
檔案比較



Eclipse列編輯模式


Search功能(還有一個是Find/Replace)


一個檔案開啟多次,這樣在你寫程式碼時,需要參考檔案的不同部分時,就不需要滾上滾下了


提取公共程式碼到私有的公共方法



eclipse顯示啟動時間的外掛: 
看這裡http://www.blogjava.net/shenh062326/archive/2011/10/16/361360.html


//////////////////////////////////////////////////////////// 
eclipse debug使用部分
//////////////////////////////////////////////////////////// 
debug的variable介面顯示初等變數的十六進位制、ascii等形式



//////////////////////////////////////////////////////////// 
eclipse常見問題及解決
//////////////////////////////////////////////////////////// 
Eclipse 3.7 Indigo在Win7和Vista下面,文字編輯器字型不能改成CourierNew!!!
直接編輯 
org.eclipse.jface_3.7.0.I20110522-1430.jar\org\eclipse\jface\resource\jfacefonts_windows7.properties 
用XP裡面的字型替換一下,重啟Eclipse搞定。 

修改完後,進入解壓目錄 
>e: 
>cd org.eclipse.jface_3.7.0.I20110522-1430 

然後打包所有的檔案 
jar -cfm org.eclipse.jface_3.7.0.I20110522-1430.jar "META-INF/MANIFEST.MF" "org/" "META-INF/" .api_description about.html plugin.properties 

最後將該jar檔案覆蓋原來的,重啟eclipse就ok了。(在最後有做好的jar檔案下載) 

Exception in checkAndLoadTargetData.PermGen space解決
http://hi.baidu.com/marsjin/blog/item/60756189fa65e4b00f244494.html 

Error notifying a preference change listener
遇到該錯誤,說明eclipse的cdt外掛太舊了,只要把plugin下的cdt相關的外掛刪除就可以解決這個問題。 

英文網址:http://www.velocityreviews.com/forums/t361244-eclipse-error-notifying-a-preference-change-listener.html 

啟動Eclipse,提示“ Failed to create the Java Virtual Machine”
可能是eclipse的配置檔案eclipse/eclipse.ini 
-Xms512m 
-Xmx512m 
中這兩個引數設的過大了,設定一個小一點的值,比如256 


eclipse的所有設定的配置檔案位置(window->preferences中的設定的存放位置): 
workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings