修改Eclipse與MyEclipse的代碼提示功能+取消空格上屏

注:本文爲在參考了網上相關文章後自己修改而成.

1.修改Eclipse與MyEclipse的代碼提示功能

設置代碼自動完成提示的觸發鍵 :依次點擊Window–>Preferences–>Java–>Editor–>Content Assist:
這裏寫圖片描述

這裏寫圖片描述

Auto activation triggers for Java” 指定當按下什麼鍵時,會彈出代碼提示。按照自己習慣配置即可,我的配置是”.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ([{,”。
較早版本的Eclipse與MyEclipse在這裏最多隻能指定5個鍵,想要指定更多的鍵,只能使用先導出配置文件,修改之後再導入的方法。具體方法可自行在網上搜索.
“Auto activation delay (ms):” 這個值指定當按下相應的觸發鍵後,延遲多少毫秒彈出代碼提示。建議設置爲100以下,否則會有明顯的停頓感。

2.取消空格上屏

使用Eclipse與MyEclipse的代碼提示功能時,按下空格鍵後Eclipse會自動將代碼提示中的第一項上屏。這一點有時會變得相當討厭,因爲很多時候我們只是單純的想要輸入一個空格而已。然而這一特性是無法通過配置改變的。好在Eclipse是開源的,我們仍然可以通過修改相應的源代碼來改變這一點。

下面先以Eclipse爲例說明。
首先,如果你下載的Eclipse是SDK版本的,那麼可以直接越過下面的一段。
如果你的Eclipse不是SDK版本的,強烈建議你改爲使用SDK版本的Eclipse,因爲SDK版的Eclipse附帶了所有源碼。
你可以在http://archive.eclipse.org/eclipse/downloads/頁面選擇對應版本的eclipse,然後在下載頁面選擇SDK版本進行下載.
這裏寫圖片描述
如果你不願意使用SDK版,那麼也可以從http://www.eclipse.org/projects/listofprojects.php獲得下文所需的源代碼,以本文爲例,點擊Platform Text,會跳轉到project頁面,再點擊Clone on GitHub,即可下載到相應的源代碼。

在SDK版eclipse裏依次點擊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文件:
在該文件中找到如下的代碼(一般在1300-1350行之間):

case '\t': 
      e.doit= false; 
      fProposalShell.setFocus(); 
      return false;

將其改爲:

case '\t': 
      e.doit= false; 
      insertSelectedProposalWithMask(e.stateMask); 
      break;

然後,在這段代碼的下方,找到如下代碼:

if (contains(triggers, key)) { 
    e.doit= false; 
    hide(); 
    insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); 
}

將其第一行改爲:

if (key != 0x20 && key != '=' && key != ';' && contains(triggers, key)) {

經過以上修改,我們去掉了按下空格上屏和”=”上屏”,”上屏的功能,並將其改爲按下Tab鍵上屏,相信這是符合多數人的習慣的。 保存修改。

接下來要做的就是使用修改過的代碼生成插件,並替換掉Eclipse本來的插件。在該工程上單擊右鍵,選擇Export…:
這裏寫圖片描述

在彈出的對話框中選擇Plug-in Development–>Deployable plug-ins and fragments,點擊Next:
這裏寫圖片描述

指定一個保存即將導出的jar包的位置,點擊Finish。
這裏寫圖片描述

這時,在你剛纔指定的路徑下會生成一個plugins文件夾,裏面就是導出的jar包:
這裏寫圖片描述

最後一步,定位到Eclipse安裝目錄下的plugins文件夾,使用這個剛生成的jar包替換掉原本的org.eclipse.jface.text包即,大功告成!
現在,使用代碼提示時按下空格鍵已經不會自動上屏了,而是使用Tab鍵來上屏。

**

對於MyEclipse:

**
MyEclipse的修改方法與Eclipse完全一樣,用修改好的jar包替換掉MyEclipse自帶的jar包即可,MyEclipse中該jar包的位置是:MyEclipse安裝目錄\Common\plugins。
需要額外注意的是MyEclipse中使用的org.eclipse.jface.text包的版本。如筆者使用的MyEclipse 10.6的jface.text的版本是3.7.2,而Eclipse Juno使用的jface.text版本爲3.8.1。筆者試圖用修改過的3.8.1版本的jar包替換掉MyEclipse自帶的3.7.2的jar包,發現替換後的MyEclipse無法啓動。無奈只能從網上重新下載了3.7.2版本的Eclipse SDK,將裏面的jface.text修改好之後替換道MyEclipse中,最終解決了問題

發佈了16 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章