2012-01-02 30 views
6

在Eclipse(Java)中輸入時,我經常遇到這樣的問題,即當我開始鍵入訪問器時,插入符號將跳轉到構造函數定義的開頭。所以在這樣的文件:Eclipse插入符跳轉到構造函數時輸入

private int mSomeInt; 

public 

in|public MyClass(){ 
} 

我想手動輸入了訪問(的getter/setter)爲mSomeInt,但是當我後按空格「公共」的上方,光標跳轉到「開始公共MyClass「。

我經常輸入完整的行來查找,並找到我的方法與構造函數混淆(如上)。

在SO上找不到任何類似的問題(不是我知道準確找什麼)。

任何幫助,將不勝感激。

注 - 這不僅是訪問器,而是我在構造函數或其他方法之前定義的訪問修飾符。

編輯

不成功嘗試以下德科的解決方案後,我已經成功地進一步稍微縮小它。

這個問題只發生在文件中的所有塊處於摺疊狀態(ctrl + shift + numPadDivide)時。我可以看到現在的問題是,我輸入的新訪問修飾符然後(快速)摺疊到下面的方法中。即Eclipse實際上正在使用第一個訪問修改器並將所有內容從這裏摺疊,儘管我的意圖實際上是編寫一個新方法。

我唯一能找到的解決方案是隻編輯所有'fold'元素展開的源代碼。

+0

這一直是我多年來的煩惱;你最終做了什麼來解決它? – 2013-08-20 15:44:46

+0

不幸的是我沒有解決它。正如我上面提到的那樣,我發現了它發生的條件,並且我一直在努力解決它(即我不再讓整個班級保持摺疊狀態)。 當然問題仍然存在,但我不再注意它了。 – 2013-08-21 17:21:25

回答

0

不幸的是,在最新的Elcipse版本(開普勒)中,這個問題仍然存在。 由於問題只發生在文檔「摺疊」時,解決此問題的方法是在編輯器中禁用摺疊功能 - 或禁止摺疊'Members':

首選項 - > Java - >編輯器 - 摺疊

2

Window -> Preferences -> <Language> (e.g. Java) -> Editor下有一個Content Assist菜單項,您可以在其中配置自動完成和脫字符號放置以及自動激活和它使用的延遲。

編輯

您的更新原來的問題,我能夠在Eclipse靛藍成功複製之後。將所有代碼塊摺疊後,看起來Eclipse假定您正在編寫的代碼需要位於該塊中(而不是變量聲明)。我不確定這是否是預期的行爲 - 但我發現的唯一方法是編輯主塊打開的代碼,然後在事後關閉它 - 或者完全關閉摺疊。

從我可以告訴有各種各樣的摺疊插件/插件,你可以得到的Eclipse覆蓋默認行爲,可能會更好地運行?一個快速的Google搜索將能夠讓你快速得到他們的名單。

我也可能會建議在Eclipse支持網站上發佈這個問題作爲他們的正式答案。

+0

感謝您的建議,但不幸的是它沒有奏效。我已經編輯了一些我的問題,以提供更多關於正在發生的事情的信息。 – 2012-01-03 11:22:36

+0

我已經能夠複製這個問題,看起來像問題是如何摺疊在Eclipse中工作,對不起;( – Deco 2012-01-03 23:24:18

+0

我欣賞的努力,謝謝 – 2012-01-06 08:10:47