Отладка плагинов в MS Visual Studio Code¶
В среде разработки MS Visual Studio Code есть возможность отладки плагинов и приложений для Аксиомы.ГИС. Перед началом выполнения данной инструкции необходимо настроить окружение разработчика в папке с плагином так, как это описано здесь: Настройка окружения разработчика в MS Visual Studio Code.
Для начала надо установить модуль ptvsd. Для этого, если у вас уже создано виртуальное окружение, выполните в терминале команду:
".venv\\Scripts\\python.exe" -m pip install ptvsd
Установка модуля ptvsd:
В папках, куда установлена Аксиома.ГИС, надо найти скрипт startaxioma.py, поднимающий Аксиому.ГИС из python, и скопировать его в папку с плагином. Обычно он находится в директории ./Axioma.GIS/share/axioma/python_samples. В последней версии он выглядит так:
import axioma.app import axioma.gui import sys ''' Запуск аксиомы как приложения из среды питон. Например, PyCharm ''' if __name__ == '__main__': a = axioma.app.AxiomaApplication(sys.argv) gui = axioma.gui.Gui(a) gui.initialize() mainWindow = axioma.app.MainWindow.create(gui) mainWindow.show() sys.exit(a.exec())
Файл startaxioma.py:
В скопированном файле startaxioma.py нужно добавить 4 строчки после условия «if» (строка с функцией «print» необязательна):
import axioma.app import axioma.gui import sys ''' Запуск аксиомы как приложения из среды питон. Например, PyCharm ''' if __name__ == '__main__': import ptvsd print("Waiting for debugger attach") ptvsd.enable_attach(address=('localhost', 5678), redirect_output=True) ptvsd.wait_for_attach() a = axioma.app.AxiomaApplication(sys.argv) gui = axioma.gui.Gui(a) gui.initialize() mainWindow = axioma.app.MainWindow.create(gui) mainWindow.show() sys.exit(a.exec())
Дополненный файл startaxioma.py:
В папке .vscode в файле launch.json необходимо создать новую конфигурацию:
{ "name": "Python: Attach", "type": "python", "request": "attach", "port": 5678, "host": "localhost", "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ] }
Новая конфигурация для отладки:
Теперь при запуске скрипта startaxioma.py перед открытием главного окна Аксиомы.ГИС будет происходить остановка до того момента, пока не будет запущена конфигурация отладки «Python: Attach» во вкладке Debug. После запуска этой конфигурации при старте плагина из интерфейса запущенной скриптом Аксиомы.ГИС все функции отладки, такие как точки останова, в коде этого плагина будут работать.
Теперь вы можете использовать MS Visual Studio Code для отладки плагинов в среде Аксиомы.ГИС.