Файл SublimeText 2 & scala.sublime-build

Я пытаюсь использовать Sublime Text 2 для редактирования и запуска Scala script под 64-разрядной версией Windows 7 с помощью Scala 2.9.1. Я создал следующий файл scala.submline-build, пытаясь следить за тем, что происходит, когда я ввожу из командной строки следующее:

C:\work\Scala>scala ScalaGreetings.scala
Greetings from Scala...
C:\work\Scala>

Содержимое scala.sublime-build выглядит следующим образом:

{
    "cmd": ["C:\\scala-2.9.1.final\\bin\\scala.bat $File"]
}

С помощью простого Scala script, загруженного в вкладку Sublime Text, нажатие клавиши F7 приводит к загрузке и запуску интерпретатора Scala, но script не выполняется, как ожидалось. В окне сборки появится следующее:

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java    1.7.0_01).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

С учетом этого, я был бы признателен за вашу помощь и отзывы со следующими вопросами:

1.) Могу ли я выполнить Scala script из Sublime Text 2 и отобразить его вывод в окне сборки после успешной интерпретации script?

2.) Предполагая, что ответ на поставленный выше вопрос да, что отсутствует и/или неверно в моем scala.sublime-текстовом файле?

3.) Есть ли дополнительные ресурсы, которые я должен использовать при использовании Sublime Text 2 с Scala, особенно в отношении файлов Sublime Project для Scala?

Ответ 1

Попробуйте использовать это вместо:

{
    "cmd": ["C:\\scala-2.9.1.final\\bin\\scala.bat", "$File"]
}

Ответ 2

попробуйте эту настройку сборки

{
    "cmd": ["C:\\scala-2.9.1.final\\bin\\scala.bat","$file"]
}

Я мог бы решить с ним.

Ответ 3

{
  "cmd": ["C:\\scala-2.9.1.final\\bin\\scala.bat", "$file"],
  "selector": "source.scala"
}

Обратите внимание, что поскольку имена переменных чувствительны к регистру, $file должен быть в нижнем регистре.

Параметр selector позволяет Sublime автоматически выбирать систему сборки.

Для получения дополнительной информации проверьте ссылку Sublime Text в системах сборки.

Ответ 4

У меня возникли проблемы с созданием .scala файлов, и я заметил, что мне нужно установить параметр shell на true, так что вот мой build_systems

"build_systems": 
[
    {
        "name": "Compile",
        "cmd": ["scalac", "Main.scala"],
        "shell": true,
        "working_dir": "<path to project folder>"
    },
    {
        "name": "Run",
        "cmd": ["scala", "Main.scala"],
        "shell": true,
        "working_dir": "<path to project folder>"
    }

]

Я всегда устанавливаю параметр working_dir, но, думаю, это не так важно.

Итак, чтобы ответить на ваши вопросы:

  • Да, вы можете увидеть результат в возвышенном состоянии после выполнения script.

  • Я надеюсь, что моя конфигурация выше поможет вам в этом.

  • Я настоятельно рекомендую вам попробовать плагин SublimeREPL.

Ответ 5

Это введение для Mac OS X, но я не думаю, что есть большая разница с Windows и особенно с Linux.

В Scala у вас есть два варианта.

Первый вариант использует интерпретатор Scala scala:

{
    "cmd": ["/usr/local/scala/bin/scala", "$file"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.scala"
}

В моем случае папка scala, которую я загрузил, помещается в /usr/local/.


Второй вариант заключается в компиляции вашего источника. Это немного сложнее.

{
    "cmd": ["build_scala.sh", "$file"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.scala"
}

Конечно, вы должны добавить файл build_scala.sh bash script, например. г. в /usr/bin/:

#!/bin/bash          
# compiles all java files within directory and runs first argument
for file in *.scala
do
echo "Compiling $file"
/usr/local/scala/bin/scalac $file
done
echo "Running $1"
/usr/local/scala/bin/scala $1

Проверьте script на своем терминале, набрав which build_scala.sh

Ответ 6

Для окон добавьте путь scala к переменной среды Задайте файл Scala.sublime-build со следующими параметрами:

{
"cmd": ["scala.bat", "$file"],
"selector": "source.scala"
}