MyEclipse程式碼補全設定及外掛修改
用慣了IDEA才知道eclipse(MyEclipse)的程式碼提示這麼不給力,下面給出我的解決方式
修改Eclipse配置
首先,修改eclipse的配置,使得我們在輸入指定字元的時候能彈出提示程式碼:
開啟Window->Reference,在Java->Edictor->Content Assist下,啟用Enable auto activation
,修改Auto activatiopn triggesrs for Java
為qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_.
也就是設定成26個字母的大小寫、_以及.,這樣當我們輸入這些字元的時候就會有相應的提示。
修改補全外掛
提示已經有了,但是eclipse的自動補全也是略坑,輸入等號也會補全提示的內容,像我們輸入String name
就會被補全成String studentString
,這是我們不想要的,這時候就需要重新編譯補全外掛了。
首先我們要安裝Eclipse SDK,這樣才能匯入外掛的原始碼
以MyEclipse為例,Help -> Install from site,選擇The Eclipse Project Updates,就可以看到Eclipse SDK,選擇然後安裝就可以了
第二步,匯入外掛原始碼:
Window -> show view -> others,在Plug-in Development下找到Plug-ins,點選OK。右鍵點選
org.eclipse.jface.test(版本號)
第三步,修改程式碼
開啟剛剛匯入的專案下的org.eclipse.jface.text.contentassist.CompletionProposalPopup.java
,可以看到裡面有這麼一段程式碼:switch (key) { case 0x1B: // Esc e.doit= false; hide(); break; case '\n': // Ctrl-Enter on w2k case '\r': // Enter e.doit= false; insertSelectedProposalWithMask(e.stateMask); break
將上面程式碼改成:
switch (key) { case 0x1B: // Esc e.doit= false; case ' ': case ';': case '=': hide(); break; case '\n': // Ctrl-Enter on w2k case '\r': // Enter case '\t': // Tab e.doit= false; insertSelectedProposalWithMask(e.stateMask); break; default: ICompletionProposal p= getSelectedProposal(); if (p instanceof ICompletionProposalExtension) { ICompletionProposalExtension t= (ICompletionProposalExtension) p; char[] triggers= t.getTriggerCharacters(); if (contains(triggers, key)) { e.doit= false; hide(); insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); } } }
到這裡就修改完成了,接下來我們需要匯出外掛右鍵專案
org.eclipse.jface.text
,export,選擇Plug-in Development中的Deployable plug-ins and fragment,選擇Directory並選擇一個資料夾,finish,修改後的jar包就會匯出到該資料夾的plugin資料夾中,把生成的jar包覆蓋掉MyEclipse安裝目錄下plugins資料夾中的同名檔案就可以了。