#scala #sublimetext2
#scala #sublimetext2
Вопрос:
Я пытаюсь использовать Sublime Text 2 для редактирования и запуска скрипта Scala в 64-разрядной версии Windows 7 с использованием Scala 2.9.1. Я создал следующий файл scala.subline-build, пытаясь проследить, что происходит, когда я ввожу следующее из командной строки:
C:workScala>scala ScalaGreetings.scala
Greetings from Scala...
C:workScala>
Содержимое scala.sublime-build выглядит следующим образом:
{
"cmd": ["C:\scala-2.9.1.final\bin\scala.bat $File"]
}
При загрузке простого скрипта Scala на вкладке Sublime Text нажатие клавиши F7 приводит к загрузке и запуску интерпретатора Scala, но скрипт выполняется не так, как ожидалось. В окне сборки появится следующее:
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 из Sublime Text 2 и отобразить его выходные данные в окне сборки после успешной интерпретации сценария?
2.) Предполагая, что ответ на приведенный выше вопрос положительный, что отсутствует и / или неверно в моем scala.sublime-текстовом файле?
3.) Есть ли какие-либо дополнительные ресурсы, на которые я должен обратить внимание при использовании Sublime Text 2 с Scala, особенно в виде файлов проекта Sublime для Scala?
Ответ №1:
Попробуйте использовать это вместо:
{
"cmd": ["C:\scala-2.9.1.final\bin\scala.bat", "$File"]
}
Комментарии:
1. Это
$File
должно быть$file
для s3, по крайней мере, в OSX
Ответ №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
параметр, но, думаю, это не так важно.
Итак, чтобы ответить на ваши вопросы:
-
Да, да, вы можете увидеть результат в sublime после выполнения скрипта.
-
Я надеюсь, что моя конфигурация выше поможет вам с этим.
-
Я настоятельно рекомендую вам попробовать плагин 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, например, в /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
Протестируйте скрипт в вашем терминале, введя which build_scala.sh
Ответ №6:
Для Windows добавьте путь scala к вашей переменной окружения Установите файл Scala.sublime-build следующим образом:
{
"cmd": ["scala.bat", "$file"],
"selector": "source.scala"
}