2009-10-01 17 views
16

Czy istnieje sposób wykonania skryptu scala z Eclipse z wtyczką scala?Używanie Scala jako języka skryptowego z Eclipse

Skrypt scala jest plikiem scala, który jest wykonywany wiersz po wierszu, bez konieczności pisania głównej metody. Zobacz sekcję Description w scala's man page.

+0

W odpowiedziach brakuje celu. Jeśli piszesz skrypt, aby wykonać skrypt, to powinien istnieć sposób, aby go wykonać jako taki. Nie jest to związane z wypróbowaniem rzeczy na REPL, ani różnymi sposobami generowania programu zamiast skryptu. –

+1

Zdecydowanie. Żadna z odpowiedzi nie jest związana z pytaniem. Zastanawiam się, dlaczego jeden z nich został przegłosowany. –

Odpowiedz

18

Wiem, że to pytanie jest w tym momencie starożytne, ale przy braku szansy, że ktoś szuka odpowiedzi (tak jak ja), zaczynamy. Ta informacja jest oparta na wersji beta 2.0.0.0 dodatku Scala Eclipse Plug-in przy użyciu Scala 2.8.2. Znalazłem 2 możliwe opcje:

Pierwsza opcja polega na użyciu polecenia "Wyślij do selekcji Scala", które domyślnie jest przypisane do "Ctr + Shift + X". Spowoduje to pobranie aktualnego tekstu w dowolnym edytorze Scala i wysłanie go do tłumacza w celu wykonania. Tworzy nowe okno w tej samej grupie kart, co konsola Eclipse. Wydaje się, że istnieje jeden problem z tym, że pojawi się błąd ": 3: błąd: narzędzie wartości nie jest członkiem pakietu scala" na końcu wykonywania. Jest to uznany problem i znalazłem obejścia dla Inteli-J, ale nie Eclipse.

Druga opcja (którą aktualnie używam) polega na utworzeniu nowej "konfiguracji uruchamiania" dla interpretera Scala. Jeśli przejdziesz do "Uruchom ... Uruchom konfiguracje" powinieneś zobaczyć "Scala Interpreter" jako jeden z programów uruchamiających. Możesz utworzyć nową konfigurację tego launchera z wszystkimi domyślnymi opcjami, a po uruchomieniu otrzymasz monit interpelujący scala w oknie konsoli. Stąd możesz pisać do swoich serc treści. Powinieneś być w stanie go również uruchomić, uruchamiając w ten sposób pliki skryptów, definiując odpowiednie konfiguracje uruchamiania (chociaż jeszcze tego nie zrobiłem).

Mam nadzieję, że przyda się to komuś.

+2

Dzięki za poświęcenie czasu na napisanie tego. –

+0

Wydaje się działać dobrze teraz (Eclipse Juno z Scala IDE Helium, Nightly) – Markus

1

nie wiem o uruchomienie skryptu z Eclipse, ale można zrobić coś takiego:

object Main extends Application { 
    println("Look, no main(args: Array[String])") 
} 
+1

extend Zastosowanie i używanie podstawowego konstruktora nie jest polecane dla niczego innego niż krótkie "programy testowe" – Schildmeijer

+1

Dla każdego, kto może to przeczytać. Teraz (od 2.8.coś) jest w porządku, aby rozszerzyć 'Application'. Kod działa tak, jakby był w funkcji main(), a nie w konstruktorze. –

2

Jeśli dobrze pamiętam, Scala plugin Eclipse pochodzi z interaktywną konsolę, w której można wykonać swoje Scala script. Szczegóły tego, jak go aktywować, uciekły mi, odkąd od dawna nie używam środowiska Eclipse for Scala. Sprawdź to, tam jest.

+1

Wystarczy kliknąć prawym przyciskiem myszy -> Nowy -> Arkusz Scala. – Tex

10

Można otworzyć interaktywną powłokę, klikając prawym przyciskiem na projekt, wybierając Scala ->Tworzenie tłumacza w XYZ.

4

Jeśli masz zainstalowaną dystrybucję scala na tym samym komputerze, możesz skonfigurować "Narzędzia zewnętrzne" do uruchamiania skryptów 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". 

Teraz, jeśli zaznaczysz plik skryptu scala, możesz go uruchomić z paska narzędzi. Należy zauważyć, że jest to niezależne od wtyczki scala eclipse, a w rzeczywistości, być może trzeba będzie nazwać skrypty innym rozszerzeniem (.scalascript?), Jeśli jest ono zainstalowane.

+1

Tak, wiedziałem, że możesz to zrobić, ale wolałbym używać zintegrowanego sposobu. Jeśli wtyczka rozróżniłaby skrypt i program od shebang (! #) Lub pozwalając na stworzenie skryptu - byłoby świetnie. –

Powiązane problemy