2013-11-28 45 views
1

有沒有什麼聰明的方法來使用eclipse覆蓋Scala中的Java方法?使用eclipse覆蓋Scala中的Java方法

我沒有在eclipse(Scala IDE)中看到用於Java文件(Source - > Override/Implement方法)的'Source'選項。

我試過其他方式打字def override exampleMethod,這裏我按了Ctrl + Space。 IDE正常建議從超類中的方法但是當我接受建議,我看見我想要覆蓋有7個參數,其中的foreach我必須檢查它的類型只有

exampleMethod(param1, param2... etc.) // without arguments types - like a method call 

方法。這不是很方便。

但也許我可以做得更好?

+0

您最初創建類時是否嘗試過在新Scala類對話框中指定超類?如果該選項被選中,那麼應該爲抽象方法創建方法存根,儘管由於某些版本的Scala IDE for Eclipse中沒有功能的bug。 –

+1

嗯......爲未實現的方法生成存根不適用於我。我的版本'Eclipse SDK的Scala IDE版本 構建ID:3.0.2-vfinal-20131028-1923-Typesafe'。即使它仍然有效,問題仍然是方法被覆蓋。 –

回答

1

Scala IDE當前不支持爲通用重寫方法生成存根控件。

一個解決方案是使用新的'Java to Scala'插件,它將文件Java代碼轉換爲Scala代碼。它適用於抽象方法定義。對於具體方法,訣竅,我發現不轉換渾身是:

  • 複製方法簽名
  • 貼吧
  • 添加;
  • 剪切文本
  • 粘貼使用轉換

該插件可從Scala IDE更新站點獲得。

(強制性)另外,我們確實接受代碼貢獻以獲得更加集成的解決方案。

+0

你知道嗎,如果它在IntelliJ中效果更好?至少在Scala項目中,我不知道是否要改變IDEA,儘管我喜歡eclipse:/ –