Noumen docs
Extension API

Возможности

Расширения предлагают множество способов расширения функциональности. В этом разделе возможности расширений разделены на несколько категорий. Каждая категория описывает:

  • Некоторые функции, которые может использовать ваше расширение
  • Ссылки на более подробные темы по использованию этих функций

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

Общие возможности

Команды (Commands)

Команды играют ключевую роль в расширениях. Вы открываете палитру команд для их выполнения, назначаете им пользовательские сочетания клавиш и вызываете команды в контекстных меню.

Расширение может:

  • Регистрировать и выполнять команды с помощью SDK
  • Делать команды доступными в палитре команд с помощью точки вклада contributes.commands

Дополнительную информацию о командах можно найти в разделе Команды.

Конфигурация (Configuration)

Расширение может добавлять специфичные для расширения настройки с помощью точки вклада contributes.configuration и считывать их с помощью SDK.

Дополнительную информацию о конфигурации можно найти в разделе Конфигурация.

Сочетания клавиш (Keybindings)

Расширение может добавлять пользовательские сочетания клавиш. Подробнее читайте в разделе Назначение клавиш.

Уведомления (Notifications)

Почти всем расширениям в какой-то момент необходимо предоставить пользователю информацию. Для этого предоставляется API для отображения уведомлений разной степени важности:

  • sdk.window.showInfoMessage - информационные сообщения
  • sdk.window.showWarnMessage - предупреждения
  • sdk.window.showErrorMessage - сообщения об ошибках

Дополнительную информацию можно найти в разделе Уведомления.

Быстрый ввод (Quick Input)

С помощью API sdk.window.showInputBox и sdk.window.showQuickPick вы можете легко собирать пользовательские данные или предоставить пользователю возможность выбора из нескольких вариантов.

Дополнительную информацию можно найти в разделе Quick Input.

Темы (Theme)

Темы определяют внешний вид: как цвета исходного кода в редакторе, так и цвета пользовательского интерфейса.

Дополнительную информацию можно найти в разделе Темы.

Ноды (Nodes)

Расширения могут работать с редактором нод, добавляя собственные типы нод, управляя соединениями и обрабатывая события редактора.

Возможности:

  • Добавление пользовательских нод в редактор
  • Управление портами и соединениями
  • Обработка событий изменения нод
  • Создание библиотек нод

Дополнительную информацию можно найти в разделах Редактор нод и Библиотека нод.

Нотации (Notation)

Нотации определяют правила отображения проектов в редакторе нод. Расширения могут создавать собственные нотации с уникальными правилами и библиотеками нод.

Возможности:

  • Определение правил соединений между нодами
  • Создание специализированных библиотек нод
  • Настройка поведения редактора для конкретной предметной области

Дополнительную информацию можно найти в разделе Нотации.

Файловая система (File System)

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

Дополнительную информацию можно найти в разделе Файловая система.

Статус-бар (Status Bar)

Расширения могут добавлять элементы в статус-бар для отображения информации и быстрого доступа к командам.

Дополнительную информацию можно найти в разделе Статус-бар.