日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

定制Eclipse的Content assist(代碼補(bǔ)全),比如空格鍵 “=”鍵不上屏

 神志屋 2017-06-21

Eclipse具有代碼提示功能, 但是默認(rèn)的提示只有在輸入"."時(shí)才會(huì)提示, 我們希望Eclipse可以像Visual Studio那樣, 輸入任何字母都可以自動(dòng)提示, 按照如下方式進(jìn)行修改即可: 

1. “window”→“Preferences”
2. 選擇“Java”,展開,“Editor”,選擇“Content Assist”。
3. 選擇“Content Assist”,然后看到右邊,右邊的“Auto-Activation”下面的“Auto Activation triggers for java”這個(gè)選項(xiàng)。其實(shí)就是指觸發(fā)代碼提示的就是“.”這個(gè)符號(hào)。
4. “Auto Activation triggers for java”這個(gè)選項(xiàng),在“.”后加abcdefghijklmnopqrstuvwxyz字母,方便后面的查找修改。然后“apply”,點(diǎn)擊“OK”。

按照上述方法修改后編寫代碼可以實(shí)現(xiàn)隨時(shí)代碼提示和補(bǔ)全功能, 但是在使用過(guò)程中問(wèn)題又來(lái)了, 當(dāng)按下空格鍵時(shí)會(huì)把第一行的內(nèi)容自動(dòng)上屏,其實(shí)很多時(shí)候就是想輸一個(gè)空格而已. 如何解決, 在網(wǎng)上搜索了一下, 果然有人遇到同樣問(wèn)題, 參考下面解決方案, 順利在Eclipse 3.7下解決問(wèn)題.

參考文章:

引: http://johnlxj.blog.163.com/blog/static/16586556420117175344712/
以前只知道alt+/調(diào)出assist,后來(lái)發(fā)現(xiàn)可以所有字母都激活content assist(方法百度上都有,就不在這寫了).用起來(lái)果然很爽.但是eclipse還是有些默認(rèn)的設(shè)置不是很好,比如空格鍵和=號(hào)會(huì)把第一行的內(nèi)容自動(dòng)上屏,其實(shí)很多時(shí)候我就是想輸一個(gè)空格或=號(hào)而已.這個(gè)在設(shè)置里面沒(méi)辦法設(shè)置.幸好eclipse是有插件機(jī)制的,可以通過(guò)修改插件的源碼,然后導(dǎo)出成插件,再替換掉原來(lái)的插件來(lái)處理
1.先找到相關(guān)的插件
 打開Plug-ins View找到插件org.eclipse.jface.text,右鍵點(diǎn)擊,選擇import as Source Project,導(dǎo)入完成后,在你的workspace就可以看到這個(gè)project
2.修改代碼
 在src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件中,找到這樣一行代碼
 char triggers = t.getTriggerCharacter();
 if(contains(triggers,key))
 在那行if判斷里面,eclipse會(huì)判斷key(就是你按下的鍵)是否在triggers,如果是,那就觸發(fā)下面的第一行提示上屏的代碼.所以我們要做的就是把空格和=號(hào)排除就可以了:
 if(key!='='&&key!=0x20&&contains(triggers,key))

3.把修改好的org.eclipse.jface.text導(dǎo)出
 右鍵點(diǎn)擊你的workspace里的org.eclipse.jface.text,選擇export-->Deployable plugins and fragments, next,destination 選擇archive file,然后finish.你就可以在zip文件里看到生成好的jar ,用它替換掉eclipse/plugins里面的同名jar,就可以了

怎么我找不到src這個(gè)文件夾的
嗯 可能跟源碼有關(guān),你找找你的Eclipse IDE for Java EE Developers plugins目錄下面有沒(méi)有org.eclipse.jface.text的源碼

EclipsePlug-in Development Environment (PDE)插件網(wǎng)址:
http://www./pde/


我同時(shí)安裝了Eclipse 3.5Eclipse 3.7, 按照上面的文章指導(dǎo), Eclipse 3.5下無(wú)法對(duì)插件源碼進(jìn)行修改而在Eclipse 3.7下可以成功修改.


Eclipse 3.5 Galileo "import"對(duì)話框下沒(méi)有"Plug-in Development"選項(xiàng)Eclipse 3.5下無(wú)法對(duì)插件"org.eclipse.jface.text"源碼進(jìn)行修改.


Eclipse 3.7  "import"對(duì)話框下有"Plug-in Development"選項(xiàng)可以對(duì)Eclipse 3.7下的插件"org.eclipse.jface.text"源碼進(jìn)行修改.


"Import As" 需要選擇"Projects with source folders"



  1. // 對(duì)源代碼進(jìn)行如下修改  
  2. default:  
  3. ICompletionProposal p= getSelectedProposal();  
  4. if (p instanceof ICompletionProposalExtension) {  
  5. ICompletionProposalExtension t= (ICompletionProposalExtension) p;  
  6. char[] triggers= t.getTriggerCharacters();  
  7. // hf modify  
  8. // eclipse 關(guān)閉空格、等號(hào)自動(dòng)補(bǔ)全(上屏)功能  
  9. //if (contains(triggers, key)) {  
  10.  if(key!='='&&key!=0x20&&contains(triggers,key)) {  
  11. e.doit= false;  
  12. hide();  
  13. insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x);  
  14. }  
  15. }  


將修改后的工程導(dǎo)出, 再用導(dǎo)出后的"org.eclipse.jface.text_3.7.1.r371_v20110825-0800.jar"插件覆蓋原來(lái)對(duì)應(yīng)插件就好了.

已經(jīng)修改好的"org.eclipse.jface.text_3.7.1.r371_v20110825-0800.jar"我已經(jīng)上傳到我的資源中, 需要的可以去下載.


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多