Eclipse變量名自動補全問題解決記錄

53873039oycg
{ "@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld", "@id": "http://53873039oycg.iteye.com/blog/2038310", "title": "Eclipse變量名自動補全問題解決記錄", "images": [], "description": "", "pubDate": "2014-03-29T18:58:42" }

Eclipse變量名自動補全問題解決記錄

    博客分類:
  • java
  </div>


        不知道大家在使用eclipse輸入變量名的時候,有沒有遇到過自動補全變量名的問題,前提,設置了Content Assist,如下

      

 

     

 

       我每次都是自己刪除補全的變量名的。今天有時間就搜了下怎麼取消eclipse的自動補全變量名功能,參考了博客http://www.cnblogs.com/whunick/p/3632412.html

 

        思路:eclipse自動補全變量名使用了plugin org.eclipse.jface.text。找到實際完成此功能的類CompletionProposalPopup,修改後替換plugin

 

       步驟

       (一)在Eclipse打開Window菜單–>show view –>Others –>Plug-in Development –>Plug-ins。

       如下所示

      

    

 

    (二)在plug-ins視圖下找到org.eclipse.jface.text,右鍵import as Source Project ,如下所示
    

   

     結果爲

    

    我的eclipse沒有帶源碼,那怎麼修改類呢,這時候就要去下載插件的源碼了,當然如果你的eclipse帶源碼那個太好了,那下面的操作可以參照http://www.cnblogs.com/whunick/p/3632412.html說的進行,不需要往下看了。

   

    如何下載插件的源碼呢,可以藉助一個插件來完成,插件名字叫org.freejava.javasourceattacher_1.2.1,可以從http://svn.codespot.com/a/eclipselabs.org/free-plugins/trunk/site/plugin…下載,具體介紹可以參考源鏈接:http://www.javaworld.com/article/2075958/open-source-tools/open-source-eclipse-plugin-for-download-library-source-code-automatically.html

    官方介紹:

   

寫道

 

Install plugin: - Use Update site URL: http://svn.codespot.com/a/eclipselabs.org/free-plugins/trunk/site/ - Or download offline: download plugin from http://svn.codespot.com/a/eclipselabs.org/free-plugins/trunk/site/plugin… and save it to eclipse/dropins/ folder then restart Eclipse. Usage: Right click on a Java library of a Java-based project and choose the menu item “Attach Java Source” and wait for the source code to be downloaded/attached to the library automatically

 

     下載後把插件放到eclipse的dropins目錄,重啓eclipse,在剛纔的項目org.eclipse.jface.text下的org.eclipse.jface.text_3.7.0.v20110505-0800.jar右鍵,選擇Attach Java Source,插件自動下載。下載的目錄在C:\Documents and Settings\Administrator\.sourceattacher\下面,可以從eclipse的Error Log看到

    

 

    找到源碼位置,解壓,在eclipse新建一個Java項目,把org文件夾複製到項目的src下面,其他文件夾複製到src父文件夾下面,打開org.eclipse.jface.text_3.7.0.v20110505-0800.jar把用META-INF下的文件覆蓋項目的META-INF文件夾

    在項目右擊,選擇build path–>configure build path,在libraries下面點擊add library,選擇plug-in dependencies,點擊finish。如下所示

   

    

    

    (三)找到CompletionProposalPopup類,路徑src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java,找到這樣一行代碼

    

Java代碼  收藏代碼
  1. char[] triggers = t.getTriggerCharacter();   
  2. if(contains(triggers,key))  
char[] triggers = t.getTriggerCharacter();  
if(contains(triggers,key))

     if 裏判斷你按下的鍵(key)是否在triggers 中,如果是,就觸發第一行提示的

代碼。於是,我們只要在這裏排除掉空格和=號即可,如下

    

Java代碼  收藏代碼
  1. char[] triggers= t.getTriggerCharacters();  
  2. if ((key != ‘=’) &&(key != 0x20)&&contains(triggers, key))   
char[] triggers= t.getTriggerCharacters(); 
if ((key != '=') &&(key != 0x20)&&contains(triggers, key))

    修改成這樣,空格和等號就不會觸發自動補全了。

    如下所示

    

    

 

     (四)保存後導出,替換org.eclipse.jface.text_3.7.0.v20110505-0800.jar裏面的
CompletionProposalPopup類,導出是普通的Export–>Jar File

    

 

      然後使用壓縮軟件打開org.eclipse.jface.text_3.7.0.v20110505-0800.jar把新生成的CompletionProposalPopup類替換掉老的class,注意把CompletionProposalPopup$.*.class之類的也替換掉,保存後,替換掉eclipse的plugins下面的org.eclipse.jface.text_3.7.0.v20110505-0800.jar,替換之前注意備份org.eclipse.jface.text_3.7.0.v20110505-0800.jar

  

     重啓Eclipse,大功告成,現在按=就可以了,再也不要自己去刪掉補全的部分了。

 

     本文系原創,轉載請註明出處,謝謝。

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