Eclipse取消代碼提示中的空格上屏

? ? ? ? 當(dāng)將Eclipse中代碼提示設(shè)置為所有字母提示后,會(huì)發(fā)現(xiàn)Eclipse存在一個(gè)反人類的設(shè)計(jì),正常操作都是按tab或者回車輸入提示代碼,Eclipse偏偏按空格,提示代碼會(huì)上屏。有時(shí)候輸完了一個(gè)類名,想輸入一個(gè)空格,它卻將提示代碼輸入,不得不停頓下來將上屏內(nèi)容刪除。那有什么辦法可以修改這個(gè)設(shè)置呢?很遺憾,Eclipse中并沒有內(nèi)置該修改功能,只能通過修改源碼實(shí)現(xiàn)這個(gè)功能。

? ? ? ? 可以修改Eclipse源碼中的CompletionProposalPopup.java文件進(jìn)行修改,在Plug-ins中找到org.eclipse.jface.text,點(diǎn)擊右鍵,選擇Import As–>Source Project,這時(shí)eclipse就會(huì)把該項(xiàng)目導(dǎo)入到你的workspace中了。展開該項(xiàng)目,在src目錄中選擇org.eclipse.jface.text.contentassist.CompletionProposalPopup.java文件。但實(shí)際的情況是,按照這個(gè)操作后,最后發(fā)現(xiàn)在該項(xiàng)目中并沒有src這個(gè)目錄。

? ? ? ? 接下來將介紹該問題的解決方案

? ? ? ? 首先,如果你的Ecplise不是SDK版本,那么必定會(huì)出現(xiàn)上述問題,無法找到src目錄,根本問題就是在非SDK版本的Eclipse的jar包中存放的是class文件,并沒有源文件,所以也就無法找到src源程序目錄。出現(xiàn)這個(gè)情況,請(qǐng)?jiān)贖elp>about eclipse查看你的ecplise版本,接著在http://archive.eclipse.org/eclipse/downloads/這個(gè)頁面中下載到SDK版本的Eclipse,記得下載對(duì)應(yīng)版本


點(diǎn)擊左側(cè)版本號(hào)進(jìn)入下一界面


根據(jù)自己的Eclipse版本下載

下載完成后,解壓該Eclipse,在.\eclipse\plugins\文件夾找到 org.eclipse.jface.text.source_3.12.2.v20180112-1341.jar(注意,這個(gè)jar包這是我的版本,你的可能將會(huì)有些許不同,但 org.eclipse.jface.text.source這串字符串不會(huì)改變),復(fù)制這個(gè)jar包,將這個(gè)jar包黏貼到你正在使用的Eclipse中。

首先得重啟你正在使用的Eclipse,假設(shè)你正在使用的話。依次點(diǎn)擊Window–>Show View–>Other…,在彈出的對(duì)話框中再選擇Plug-in Development–>Plug-ins


在Plug-ins中找到org.eclipse.jface.text,點(diǎn)擊右鍵,選擇Import As–>Source Project:


這時(shí)候在項(xiàng)目管理器里將能得到org.eclipse.jface.text的項(xiàng)目,找到/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件


如圖所示展開

在該.java文件中,在verifyKey(VerifyEvent e)方法里(大約在1300行左右),找到這兩處代碼


第一處需要修改代碼

改為case '\t':

? ? ? e.doit= false;

? ? ? insertSelectedProposalWithMask(e.stateMask);

? ? ? break;


第二處需要修改代碼

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

在那行if判斷里面,判斷key(就是你按下的鍵)是否在triggers中,如果是,那就觸發(fā)下面的第一行提示上屏的代碼,這里要做的就是把空格和'='去掉,當(dāng)然你也可以去掉其他上屏的鍵,如'.',這里我就只去掉空格和'='。

保存后選中項(xiàng)目,右鍵選擇Export


如下圖依次點(diǎn)擊


接下來是選擇一個(gè)文件夾用于存放生成的jar包

? ? ? 最后, 找到你選擇的文件夾,里面會(huì)有個(gè)jar包,復(fù)制它,黏貼到自己使用的Eclipse的plugins目錄里,它將會(huì)替換plugins目錄下的一個(gè)jar包,最好先將被替換的jar包備份一份。好了,重啟你的eclipse,它將不再有空格上屏的操作了。

? ? 如果感覺上述步驟太過于麻煩,可以使用Intellij IDEA,在某些方面,它比Eclipse更強(qiáng)大。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容