有沒有辦法通過scala插件從Eclipse執行scala 腳本?使用Scala作爲Eclipse的腳本語言
scala腳本是一個逐行執行的scala文件,不會強制您編寫主要方法。請參閱scala's man page中的Description
部分。
有沒有辦法通過scala插件從Eclipse執行scala 腳本?使用Scala作爲Eclipse的腳本語言
scala腳本是一個逐行執行的scala文件,不會強制您編寫主要方法。請參閱scala's man page中的Description
部分。
我知道這個問題在這一點上是古老的,但在有人正在尋找答案的機會(就像我一樣),我們走。這些信息基於使用Scala 2.8.2的Scala Eclipse Plug-in的beta 2.0.0.0版本。我發現了兩種可能的選項:
第一種選擇是使用「Send Selection to Scala Interpreter」命令,該命令默認綁定到「Ctr + Shift + X」。這將在任何Scala編輯器中選擇當前的文本並將其發送給解釋器執行。它會在與Eclipse控制檯相同的選項卡分組中創建一個新窗口。在執行結束時出現錯誤「:3:錯誤:值工具不是程序包scala的成員」似乎確實存在一個問題。這是一個公認的問題,我找到了Inteli-J的解決方法,但不是Eclipse。
第二個選項(這是我目前使用的選項)是爲Scala解釋器創建一個新的「運行配置」。如果轉到「運行...運行配置」,你應該看到「Scala Interpreter」被列爲啓動程序之一。您可以使用所有默認選項爲此啓動程序創建新配置,並且在運行它時,將在控制檯窗口中獲得scala解釋器提示。從這裏你可以腳本到你的心中的內容。你應該能夠通過這種方式來運行腳本文件,方法是定義正確的運行配置(儘管我還沒有這樣做)。
希望這會對某人有用。
感謝您花時間寫這篇文章。 – 2011-09-10 19:59:04
似乎現在工作正常(Eclipse Juno與Scala IDE Helium,每晚) – Markus 2012-12-16 19:22:05
不知道從運行Eclipse的腳本,但你可以做這樣的事情:
object Main extends Application {
println("Look, no main(args: Array[String])")
}
擴展應用程序和使用主要構造函數不建議用於其他短的「測試程序」 – Schildmeijer 2009-10-01 19:44:04
僅供任何人閱讀。現在(自2.8。東西)可以擴展'Application'。代碼在main()函數中運行,而不在構造函數中運行。 – 2011-01-22 17:44:08
如果我沒有記錯,斯卡拉Eclipse插件帶有一個交互式控制檯中,你可以執行你的斯卡拉腳本。如何激活它的細節已經逃脫了我,因爲我很久沒有使用Eclipse進行Scala開發。看它,它在那裏。
只需右鍵單擊 - >新建 - > Scala工作表。 – Tex 2012-11-09 20:18:28
您可以在項目中打開右鍵單擊一個交互的shell,選擇斯卡拉 - >在XYZ創建解釋。
如果你在同一臺機器上安裝了scala發行版,你可以配置「External Tools」來運行scala腳本。
From the menu, select "Run" -> "External Tools" -> "External Tools Configurations...".
Highlight "Program" and create a new configuration.
Fill out the dialog like so:
"Main" tab:
Name: ScalaScriptRunner
Location: c:\path\to\scala\bin\scala.bat [or use the *nix equiv]
Working Directory: ${workspace_loc}
Arguments: ${resource_loc}
"Common" tab:
Check the "Display in Favorites" selection.
Click "Apply" and "Close".
現在,如果您突出顯示一個scala腳本文件,則可以從工具欄運行它。 請注意,這與scala eclipse插件無關,事實上,如果安裝了它,您可能必須爲您的腳本命名一個不同的擴展名(.scalascript?)。
是的,我知道你可以做到這一點,但我寧願使用整合的方式。如果插件會通過shebang(!#)區分腳本和程序,或者允許您創建腳本 - 那將會很棒。 – 2009-10-09 04:09:23
答案都是錯過了目標。如果你正在編寫一個腳本,作爲一個腳本執行,那麼應該有一種方法來執行它。這與REPL上的嘗試無關,或者與生成程序而不是腳本的方式不同。 – 2009-10-01 13:17:56
當然。沒有任何答案與這個問題有關。我想知道爲什麼他們中的一個被高舉。 – 2009-10-01 15:35:21