Interface: PluginsApi
Интерфейс для управления и интеграции надстроек в редактор.
Позволяет хост-приложению загружать, запускать, останавливать надстройки и получать их статус. API предназначен для расширения редактора внешними JavaScript-надстройками.
Remarks
Типичные сценарии использования:
- Динамический запуск стороннего расширения
- Отключение/перезапуск надстройки по событию в редакторе
- Получение полного списка работающих расширений
Example
Простая надстройка с методом onInit
export default {
// Точка входа в надстройку
onInit: () => {
console.log('Надстройка активирована');
}
}
Запуск и остановка через PluginsApi
await pluginApi.startPlugin('myPlugin', pluginCode);
// ... работа надстройки ...
await pluginApi.stopPlugin('myPlugin');
Получение списка активных надстроек
const active = await pluginApi.getStartedPluginIds();
console.log('Запущено:', active);
See
EditorPlugin — структура надстройки и описание жизненного цикла
Methods
getStartedPluginIds()
getStartedPluginIds():
Promise<string[]>
Возвращает список уникальных идентификаторов всех запущенных надстроек.
Returns
Promise<string[]>
Promise с массивом строковых id активных надстроек (может быть пустым).
Example
const activeIds = await pluginApi.getStartedPluginIds();
startPlugin()
startPlugin(
id,code):Promise<void>
Загружает и запускает надстройка в редакторе.
Parameters
id
string
Уникальный идентификатор надстройки (строка без пробелов, регистр чувствителен).
code
string
Исходный код надстройки на чистом JavaScript.
Returns
Promise<void>
Example
await pluginApi.startPlugin('helloWorld', 'export default { onInit: () => alert("Hello!") }');
stopPlugin()
stopPlugin(
id):Promise<void>
Останавливает работу ранее запущенного надстройки.
Parameters
id
string
Уникальный идентификатор надстройки, запускался через startPlugin.
Returns
Promise<void>
Promise, резолвится после полного завершения onDestroy или аналогичного метода.
Example
await pluginApi.stopPlugin('helloWorld');