自動補全空格選中選項的解決辦法
阿新 • • 發佈:2019-02-07
eclipse是一個很強大的IDE,他的自動補全功能與VS有的一拼,但是在某些情況下,它的自動補全也太自作多情了,比如以下情況:
要新建一個String型別的變數value,則當輸入到value的時候,eclipse會在候選列表中列出valueString,如果此時再輸入空格的話,就會選中候選列表中的valueString,則新建的變數將會變成valueString,這將會是一件很蛋疼的事情。
對於長期程式設計的人來說絕對無法忍受這樣的折磨。於是乎,解決辦法出來了:
首先,開啟Eclipse,開啟window->show view,選擇Plug-ins,再找到org.eclipse.jface.text,右鍵單擊,選擇import as-> Source Project,匯入完成後,在你的workspace就可以看到這個project了。
然後,在匯入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函式中有一段程式碼 : (CTRL+F搜尋)
要新建一個String型別的變數value,則當輸入到value的時候,eclipse會在候選列表中列出valueString,如果此時再輸入空格的話,就會選中候選列表中的valueString,則新建的變數將會變成valueString,這將會是一件很蛋疼的事情。
對於長期程式設計的人來說絕對無法忍受這樣的折磨。於是乎,解決辦法出來了:
首先,開啟Eclipse,開啟window->show view,選擇Plug-ins,再找到org.eclipse.jface.text,右鍵單擊,選擇import as-> Source Project,匯入完成後,在你的workspace就可以看到這個project了。
然後,在匯入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函式中有一段程式碼
if(contains(triggers, key)){
...
}
將這段程式碼改為if(key!=0x20&& key!='='&& key!=';'&& contains(triggers, key)){
...
}
還有把這段程式碼之上的程式碼case'\t': e.doit=false; fProposalShell.setFocus(); returnfalse;
修改為case'\t':
e.doit=false;
insertSelectedProposalWithMask(e.stateMask );
break;