eclipse代碼自動提示配置詳解
工欲善其事,必先利其器,在我們用eclipse寫java程序時,好的智能代碼提示必將事半功倍。下面我就分享一下我根據網上各種配置方法並加上自己的摸索總結一個完整的配置步驟。
一、基本代碼自動提示配置
eclipse代碼裏面的代碼提示功能默認是關閉的,只有輸入“.”的時候纔會提示功能。下面說一下如何修改eclipse配置,開啓代碼自動提示功能打開 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,在右邊最下面一欄找到 auto-Activation ,下面有三個選項,找到第二個“Auto activation triggers for Java:”選項在其後的文本框中會看到一個“.”存在。
在編寫代碼時敲出幾個字符的情況下就迅速地完成代碼,那是一件很爽的事。可是默認情況下,eclipse只有在你打出’.’(點字符)的時候,纔會彈出自動補全窗口給你選擇。這在大部分時候是完全不夠用的。
那麼如何配置eclipse的代碼自動提示功能呢?
1、Window ——> Preferences ——> Java ——> Editor ——> Content Assist
1)、將圖中複選框勾上
2)、將自動補全延遲的時間[auto activation delay(ms)]默認是200ms, 可以將時間縮短一些,比如我設置2ms.
3)、[auto activation triggers for java]自動補全觸發器,默認是”.”, 這個位置可以設置成26個字母外加’.’:.abcdefghijklmnopqrstuvwxyz(不區分大小寫)
4)、[auto activation triggers for javadoc]javadoc的觸發器,默認是”@#”.
配置好之後再寫代碼時就會有自動代碼提示了,對於那些離開智能編輯器就連一句代碼也寫不出的“程序員”來說這一步就相當於爲他們掃清了重重障礙。
一、自動提示高級配置
但是你有沒有發現在實際寫代碼時還會碰到不爽的感覺,就是不管你輸入任何字符都會有提示,但是我們有時候並不想有提示,比如說當我們想定義一個字符串 s時,我們String s
,當我們再輸入“=”時,屏幕上就變成String string=
,這是因爲,當我們輸入“s”時,eclipse代碼自動提示中的第一個就是string
,當我們按下“=”鍵時,自動提示中第一項就會自動上屏,除了這個例子,還有很多類似的情況,其實這個時候我們不想出現自動提示,或者不希望自動提示類容上屏。因爲在這個時候任意鍵都會觸發自動提示上屏,我們就希望像“=”這樣的鍵不產生這樣的觸發,其實我們像要自動提示類容上屏時主要是按“Enter”鍵,所以我們禁用“=”、“空格”、“;”這些鍵的觸發功能就好了。
那麼如何禁用上述三個鍵的觸發功能呢?
其實很簡單,只需要將eclipse源碼包中負責這個代碼自動提示功能.jar包內定義觸發上屏的鍵集合中除去就好了。具體做法如下:
1、找到並打開對應源碼:
首先默認你下載的eclipse是SDK版本的,對於不是SDK版本的稍後再討論。
依次點擊Window–>Show View–>Other…,在彈出的對話框中再選擇Plug-in Development–>Plug-ins:
在Plug-ins中找到org.eclipse.jface.text,點擊右鍵,選擇Import As–>Source Project:
這時eclipse就會把該項目導入到你的workspace中了。展開該項目,在src目錄中選擇org.eclipse.jface.text.contentassist.CompletionProposalPopup.java文件, 目前我們找到並代開了需要修改的源碼。
2、修改源碼:
在該文件中找到如下的代碼(一般在1300-1500行之間),我用的是eclipse4.3.0,要找的代碼在1400行:
把其中 if (contains(triggers, key)) {
那行改爲:if (key != 0x20 && key != '=' && key != ';' && contains(triggers, key)) {
經過上述修改,我們就去掉了按“空格”、“=”、“;”的上屏功能。並將其改爲按“Tab”鍵上屏
保存修改。
3、到處並替換eclipse中原始的對應插件:
接下來要做的就是使用修改過的代碼生成插件,並替換掉Eclipse本來的插件。在該工程上單擊右鍵,選擇Export…:
在彈出的對話框中選擇Plug-in Development–>Deployable plug-ins and fragments,點擊Next:
指定一個保存即將導出的jar包的位置,點擊Finish。
這時,在你剛纔指定的路徑下會生成一個plugins文件夾,裏面就是導出的jar包:
最後一步,定位到Eclipse安裝目錄下的plugins文件夾,使用這個剛生成的jar包替換掉原本的org.eclipse.jface.text包即,大功告成! 現在,使用代碼提示時按下空格鍵已經不會自動上屏了,而是使用Tab鍵來上屏。
4、對於不是SDK版本的eclipse
對於不是SDK版本的eclipse,我強烈推薦使用SDK版本的eclipse,如果你是在不願意更換,那麼你可以從http://www.eclipse.org/projects/listofprojects.php獲得所需的源代碼,注意要找與你所使用版本號一致的SDK版的對應源碼文件。
然後按照上面的修改方法就行修改,然後替換原始對應的.jar 包就好了,注意一定要 兩個版本相同,否則是不可用的。