Среда разработки

Для разработки с использованием axipy необязательно использовать никаких дополнительных инструментов. Достаточно любого простого текстового редактора типа Блокнот для написания кода. Также в саму ГИС Аксиома встроен редактор кода с базовым функционалом.

Однако иногда полезно использовать профессиональные интегрированные среды разработки (Integrated development environment - IDE), например, если вы разрабатываете большой продукт/инструмент на основе ГИС Аксиома. Интегрированные среды разработки существенно облегчают разработку, предоставляя полезные возможности, такие как: подсветка кода, автодополнение, отладка, система контроля версий и другие.

Примечание

Необязательно использовать IDE. Достаточно любого текстового редактора.

Настройка

Существует множество сред разработки для Python. При разработке с использованием API для ГИС Аксиома можно пользоваться любыми понравившимися инструментами. Одной из популярных сред разработки является Visual Studio Code. На ее примере разберем настройку IDE для разработки модулей. Настройка любой другой IDE будет схожей.

Примечание

Используйте любые понравившиеся инструменты.

Visual Studio Code - кроссплатформенная среда разработки с бесплатной лицензией. Ее можно скачать с официального сайта: Visual Studio Code.

Перед началом в установленной Visual Studio Code необходимо установить расширение Python. Это можно сделать во вкладке Extensions (Ctrl+Shift+X).

Создадим папку с проектом axioma_hello_world.

Хорошей практикой при разработке на языке Python является создание виртуального окружения virtualenv. В командной строке (Ctrl+`) Visual Studio Code выполним:

"C:\Program Files\Axioma v4\bin\python\python.exe" -m venv .venv --system-site-packages

Примечание

Расположение установленной ГИС Аксиома может отличаться.

Важно

Обязательно использовать Python, поставляемый вместе с ГИС Аксиома.

Создастся виртуальное окружение в папке .venv. Visual Studio Code сразу найдет эту папку и предложит использовать ее окружение для текущего проекта.

Чтобы убедиться, что окружение работает корректно, выведем версию интерпретатора Python; создадим простой стартовый скрипт и увидим, что ГИС Аксиома запускается из среды разработки:

Содержимое файла start_axioma.py
import axipy
from axipy.app import MainWindow

app = axipy.init_axioma()
MainWindow.show()
app.exec_()
Версия интерпретатора Python.
python --version
_images/version.png

Создадим простой модуль:

axioma_hello_world  # папка с проектом
├── ru_axioma_gis_axipy_example_plugin_minimal  # модуль
│   ├── __init__.py
│   └── manifest.ini
└── start_axioma.py  # стартовый скрипт

См.также

Раздел Модули.

Совет

Готовый скрипт start_axioma.py и пример плагина ru_axioma_gis_axipy_example_plugin_minimal можно найти в папке с установленной ГИС Аксиома.

Содержимое файла manifest.ini
name=Пример модуля axipy - Минимальный
description=Модуль для демонстрации возможностей разработки на Python
Содержимое файла __init__.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from PySide2.QtWidgets import QMessageBox
from axipy import AxiomaPlugin, Position


class Plugin(AxiomaPlugin):
    def load(self):
        self.__action = self.create_action('Пример действия',
                icon='://icons/share/32px/run3.png', on_click=self.show_message)
        position = Position('Основные', 'Команды')
        position.add(self.__action)
        self.__action.action.setToolTip('Всплывающая подсказка')

    def unload(self):
        self.__action.remove()

    def show_message(self):
        QMessageBox.information(None, 'Сообщение',
                'Пример выполнения действия по нажатию кнопки')

Запустим ГИС Аксиома из скрипта start_axioma.py и в диалоге Модули -> Настройки добавим путь к нашему проекту с модулем. Найдем его в списке найденных модулей и загрузим (можно сравнить действительное расположение модуля). Так образом можно продолжать разрабатывать этот модуль, выгружая и загружая его вновь после внесения изменений.

Важно

Чтобы изменения вступили в силу, необходимо выгрузить и повторно загрузить модуль.

Отладка

Проект готов для того, чтобы отлаживать модуль, ставя точки останова в коде. Для удобства можно создать конфигурацию для отладки, которая будет сама запускать стартовый скрипт. Создайте конфигурацию для отладки - Visual Studio Code создаст файл launch.json. Стартовый скрипт есть в папке с установленной ГИС Аксиома. Можно указать путь сразу к нему, и убрать из проекта с модулем.

_images/launcher.png

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

_images/debug.png