1. 程式人生 > >Eclipse換行莫名其妙多了一個右花括號(Eclipse最詭異的BUG)

Eclipse換行莫名其妙多了一個右花括號(Eclipse最詭異的BUG)

先來看看截圖:(注:Eclipse版本是:Eclipse oxygen 1a)



很神奇是不?莫名奇妙多了一個右花括號,而且更神奇的是根據搜尋得到的解決方法(如下)設定後是完全沒效果的??

window〉preference〉java>Editor>typing>automatically colse 框中 去掉第二個勾選“parenttheses...”

?? WTF,Eclipse怎麼可能有這個詭異的問題?絕對是BUG,為什麼沒人發現?

為了解決這個問題,首先懷疑是工作空間出錯了或者Eclipse有問題,然後進入更換Eclipse和工作空間的死迴圈中,是的,死迴圈,無論怎麼換都沒有效果(強迫症發作,別拉我ヽ(#`Д´)ノ)。在更換了4次之後,突然想起自己一直是在同一個JSP檔案中測試,難道是JSP檔案的問題?想到就立刻去驗證,新建一個JSP,然後按上面的操作



經測試,是JSP檔案導致的,在新的JSP中進行換行操作完全沒有問題,那麼到底是什麼原因導致的?

最後進過仔細排查和測試,然後發現居然是註釋中的存在一個左花括號沒有關閉!你沒看錯,是註釋中!!如下圖:


關閉後測試:



從圖中可以發現莫名其妙增加一個右花括號的BUG沒有了。神奇是吧,這個問題居然是註釋中的花括號沒有關閉導致的。我們都知道,註釋中的程式碼是無效的,那麼按正常的理解來說,註釋中的程式碼塊結構也應該是無效的,既然無效,就不會影響正常編寫程式碼。如果是為了保證註釋程式碼塊結構後剩下的程式碼結構沒有出錯而故意留下的,也說不通。

所以可以確定這個情況是Eclipse的一個BUG,而且是一個遠古的BUG,因為我曾經用舊版Eclipse也碰到,而且是java程式碼中碰到。

不過,我們還是可以避免的,就是把註釋中的花括號全部關閉,或者在註釋中不要留花括號,或者不用理會,出現時手動移動游標刪除多餘的右花括號。可以看出,這是個麻煩的操作。幸好,這種情況並不多見,只要我們不在註釋中留下沒有關閉的花括號就不會出現