SublimeText 2 и scala.sublime-файл сборки

#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 параметр, но, думаю, это не так важно.

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

  1. Да, да, вы можете увидеть результат в sublime после выполнения скрипта.

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

  3. Я настоятельно рекомендую вам попробовать плагин 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"
}