2012-09-15 61 views
14

我剛開始使用Juno幾天,內容輔助機制似乎不同於它以前的行爲。Eclipse內容輔助自動附加類型的變量

例如,如果我嘗試聲明一個變量

Boolean isVisible 

內容輔助朱諾會給你的變量名

isVisibleBoolean 

爲提示下拉列表中。

而非常煩人的是,無論我輸入什麼(;或SPACE),都會選擇「isVisibleBoolean」。

有誰知道我怎麼能禁用自動變量類型附加的東西?

非常感謝。

我目前使用Mac OS X 10.8.1,尚未在Windows中測試過它。

+1

不確定Juno,在Luna中,您可以取消選中Window-> Preference-> Java-> Editor-> Content Assist->自動插入單個提議。 – BrainSlugs83

+0

感謝您的答案,我已經從eclipse轉移到intelliJ,:D – hjbolide

回答

6

基於爲Eclipse Bug 412992的討論,請檢查您的內容輔助自動激活設置: 窗口 - >首選項 - > Java的>編輯 - >內容輔助

如果,例如,字符az被列爲「Java的自動激活觸發器」,您可以刪除它們,並且當您點擊「'或';'時,類型名稱不會自動附加到新的變量名稱。您可以根據可用選項爲您的風格確定最佳配置/折衷方案。

+1

感謝Buzz,好像是「這是一個功能而不是bug」。 – hjbolide

+2

這有點糟糕 - 它就像缺省的吸吮一樣,而且它們不能被配置爲不吸吮 - 但是有幾個選項可以讓它們吸得更少 - @丹尼爾的答案下面建議只放「」。並在那裏限制角色,這是一個非常好的開始 - 或者在Luna中 - 內容幫助菜單中的選項「自動插入單個提案」看起來像是如果取消選中此選項,問題也會消失。 – BrainSlugs83

-2

你看到的是對象類型的名稱完成。這通常是有意義的,例如在List book後按Ctrl-Space將完成到List bookList。對於原始類型,這沒有完成,所以當按下Ctrl-Space時int count將不會完成。這將通過將變量聲明爲primitve布爾值來解決您的問題(不是很好)。

我真正推薦作爲解決方案的是改變你寫變量聲明的風格。對於你的榜樣,寫isVisible = false相反,有編輯抱怨缺少的類型聲明,打按Ctrl - (在任何地方光標可能被放置),輸入

+1

嗨Bananeweizen,感謝您的幫助,我在那裏做了一個例子,您可能已經使用Hibernate很長一段時間了,在這種情況下您想要做@Id @GeneratedValue(strategy = XXX)Long id。 然後eclipse會給你Long idLong,這對於代碼的可讀性來說是非常有意義的,但是真的不是我們想要的,是嗎?對於這個建議,我認爲這肯定會起作用,但是對於每個領域來說這樣做是緩慢和不必要的。 – hjbolide

1

不是一個完美的解決方案:

窗口 - >優先 - > Java的>編輯 - >內容Assist->自動激活觸發器的Java:.ABCDEFGHIJKLMNOPQRSTUVWXYZ

這樣,只有類和類型將被提出建議。

只是一個建議,選擇取決於你。

+1

不是一個壞主意(假設我們將TitleCase用於事物 - 大部分情況下,這與標準相反,但在這種情況下這非常有用) - 第二種選擇是進入相同的菜單並取消選中「自動插入單個提案」 - 看起來這樣會使問題消失。 – BrainSlugs83