-
Notifications
You must be signed in to change notification settings - Fork 35
Запуск скриптов .os .bsl с помощью OneScript
Примечание: Поддержка запуска и обработки скриптов с помощью задач vs code доступна только при работе в папке рабочего пространства и недоступна при редактировании отдельных файлов.
В релизе 1.10.0 была реализована поддержка TasksApi VSCode. Это позволило избавиться от необходимости создания tasks.json
для запуска простейших задач.
Теперь, находясь в открытом os-файле достаточно просто нажать F1
, выбрать команду Tasks: Run task
(или Задачи: Выполнить задачу
) и будет выведен выпадающий список, где доступны все основные команды запуска и обработки os-файлов. Последними в списке будут перечислены несколько стандартных вариантов запуска скрипта: Check
, Compile
Make
и Run
.
Подробную информацию о каждом режиме запуска можно найти в разделе документации OneScript.
Если нужно выполнить задачу простого запуска без параметров открытого в редакторе os-файла, достаточно выбрать команду OneScript: run
.
Сообщения скрипта будут отображаться в стандартном окне вывода информации.
Пример:
Примечание. В каталоге
.vscode
открытой папки не должно содержаться файлаtask.json
, где в качестве версии указана версия0.1.0
- в этом случае новое API не срабатывает и отрабатывают задачи, указанные в файлеtask.json
.
Для задачи запуска можно определить комбинацию клавиш. Например, чтобы связать задачу OneScript: run
с комбинацией клавиш Ctrl+Shift+J
, добавьте в свой keybindings.json
файл следующие строки:
{
"key": "ctrl+shift+j",
"command": "workbench.action.tasks.runTask",
"args": "oscript: OneScript: run",
"when": "editorTextFocus && editorLangId == 'bsl'"
}
Иногда возможностей предлагаемых по умолчанию задач недостаточно. Например, если необходимо запускать скрипт с параметрами, нужно определить свою собственную задачу.
Для этого достаточно в глобальном меню Задачи
нажать для выбранной задачи значок шестеренки.
При этом будет создан файл task.json
Измените название задачи (например, myScript
) и в свойство args
добавьте необходимые параметры через запятую.
Пример:
{
"version": "2.0.0",
"tasks": [
{
"type": "process",
"label": "myScript",
"problemMatcher": [
"$OneScript Linter"
],
"command": "oscript",
"args": [
"${file}",
"Аргумент1",
"Аргумент2"
],
"group": "build"
}
]
}
Вместо Аргумент1
и Аргумент2
вы можете использовать любые параметры, количество параметров так же не ограничено.
Теперь при нажатии Ctrl-Shift-B
скрипт будет выполняться с указанными параметрами.
Параметры интерпретатору oscript так же можно передать с помощью файла tasks.json
. Укажите нужные параметры перед параметром ${file}
.
Вы можете добавить любое количество дополнительных команд запуска.
Полное описание формата файла tasks.json
можно найти в соответствующем разделе документации VS Code.
В списке автоматически обнаруженных задач для os-скриптов кроме стандартных команд работы со скриптами добавлен набор задач для разработчика скриптов:
- 2 вида тестирования через 1testrunner (полное + текущий файл теста)
- несколько видов тестирования через 1bdd + генерирование шагов через 1bdd
- сборка пакета для opm
- а также автоопределение задач opm (если в текущем каталоге существует папка
tasks
, то для каждого os-скрипта папкиtasks
будет создана отдельная задача). Стандартно в папкеtasks
лежит файлtest.os
, запускающий opm-тестирование проекта.
В текущем варианте установки oscript на linux необходимо дополнительно создать командный файл для запуска oscript, присвоить ему признак исполнения и расположить по одному из путей в переменной PATH.
Например, если oscript установлен (точнее, архив с oscript распакован) в каталог /opt, тогда по пути /usr/local/bin/
необходимо создать файл oscript (sudo nano /usr/local/bin/oscript
) с таким содержимым:
#!/bin/sh
/usr/bin/mono /opt/oscript/bin/oscript.exe "$@"
и выполнить команду sudo chmod +x /usr/local/bin/oscript