Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>OneScript Debug (BSL)New to Visual Studio Code? Get it now.
OneScript Debug (BSL)

OneScript Debug (BSL)

Andrei Ovsiankin

|
21,656 installs
| (5) | Free
Visual Studio Code debugger extension for OneScript (BSL)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Сервер отладки 1Script

Данное расширение предоставляет возможность отладки приложений 1Script. На данный момент находится в статусе ознакомительной версии.

Запуск отладки

  • Откройте папку с проектом oscript
  • Нажмите F5
  • Будет создан файл launch.json с параметрами отладки.

В файле launch.json можно задать несколько так называемых "профилей" отладки - наборов комбинаций параметров, под которым будет запускаться отлаживаемое приложение.

Каждый профиль отладки представляет собой настройку запуска отлаживаемого приложения, его аргументы командной строки и версию интерпретатора 1script, которая будет выполнять приложение.

Подробное описание каждого параметра выводится при наведении мышки на опцию в файле launch.json.

При возникновении вопросов напишите обращение на https://github.com/EvilBeaver/OneScript/issues. Мы обязательно вам поможем.

Маппинг путей для удаленной отладки

При отладке приложений 1Script, работающих в Docker-контейнерах, WSL или на удаленных машинах, возникает проблема несовпадения путей к исходным файлам. Локальная IDE устанавливает точки останова (breakpoints) по локальным путям (например, D:\projects\myapp\main.os), но удаленный runtime видит другие пути (например, /app/main.os в контейнере). Без маппинга точки останова не будут срабатывать.

Для решения этой проблемы используется параметр pathsMapping, который автоматически преобразует пути между локальной и удаленной файловой системой:

  • При отправке точек останова в отладчик локальные пути преобразуются в удаленные
  • При получении информации о стеке вызовов удаленные пути преобразуются обратно в локальные

Параметр pathsMapping доступен только в режиме "attach" и содержит два обязательных поля:

  • localPath - путь к каталогу проекта на локальной машине
  • remotePath - путь к каталогу проекта на удаленной машине (или в контейнере)

Примеры конфигураций запуска

Запуск 1Script, файл my-program.os с передачей аргументов командной строки и установкой переменных окружения

{
    "name": "Отладка 1Script",
    "type": "oscript",
    "request": "launch",
    "cwd": "${workspaceRoot}/src",
    "program": "my-program.os",
    "args": ["arg1", "arg2"],
    "env": {
        "OSCRIPT_CONFIG": "lib.system=D:/myOsLibraries",
        "JAVA_HOME": "D:/MyJava/JDK_29_Full"
    },
    "debugPort": 5051
}

Запуск сервера 1Script.Web, установленного по пути e:/osweb на порту 5051

{
    "name": "Отладка 1Script.Web",
    "type": "oscript.web",
    "request": "launch",
    "appDir": "${workspaceRoot}/src",
    "runtimeExecutable": "e:/osweb/OneScript.WebHost.exe",
    "debugPort": 5051
}

Подключение к работающему процессу 1Script.Web на порту 5051

{
    "name": "Отладка 1Script.Web (attach)",
    "type": "oscript.web",
    "request": "attach",
    "debugPort": 5051
}

Подключение к процессу 1Script в Docker-контейнере с маппингом путей

При отладке приложения, запущенного в Docker-контейнере, необходимо сопоставить локальные пути с путями внутри контейнера. Например, если локальный проект находится в D:\myproject, а внутри контейнера примонтирован в /app:

{
    "name": "Attach к Docker-контейнеру",
    "type": "oscript",
    "request": "attach",
    "debugPort": 2801,
    "pathsMapping": {
        "localPath": "D:/myproject",
        "remotePath": "/app"
    }
}

Примечание: В localPath используйте прямые слэши (/) даже в Windows для корректной работы маппинга.

Удаленная отладка с маппингом путей (Linux/WSL)

Для отладки приложения на удаленной Linux-машине или в WSL:

{
    "name": "Удаленная отладка на Linux",
    "type": "oscript",
    "request": "attach",
    "debugPort": 2801,
    "pathsMapping": {
        "localPath": "C:/Users/developer/projects/myapp",
        "remotePath": "/home/developer/myapp"
    }
}

Отладчик автоматически преобразует пути при установке точек останова и отображении стека вызовов, что позволяет корректно работать с исходным кодом независимо от различий в файловых системах.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft