Плагины IDE
JumPHP IDE расширяется плагинами на PHP. Плагин может добавить:
- действия (меню, Find Action, сочетания клавиш);
- окна инструментов;
- конфигурации запуска;
- автодополнение и проблемы (подчёркиваются при вводе);
- инструменты для Claude.
Плагины работают в настольной версии IDE.
Установить плагин
В IDE откройте Tools › Plugins…. Там есть:
- На jumphp.net: найдите плагин и нажмите Install. Когда выходит новая версия, кнопка меняется на Update.
- Install from a Folder…: устанавливает папку плагина.
- Список установленных плагинов: их можно включать, отключать и удалять.
Обновления: IDE проверяет jumphp.net вскоре после запуска, а затем каждые 6 часов. Уведомление предлагает Update; с Update plugins automatically IDE устанавливает их сама. Новая версия работает после следующего запуска.
Плагин — это PHP, который работает с вашими правами: устанавливайте только те, которым доверяете.
Создать плагин
bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder
Также можно выбрать New Project › IDE plugin в IDE.
Класс плагина, src/TodoPlugin.php, добавляет то, что он приносит:
public function activate(Api $ide): void
{
$ide->action('count', 'Count the TODOs', fn (EditorState $at) => substr_count($at->text, 'TODO') . ' TODO', ['kbd' => 'Ctrl+Alt+T']);
$ide->toolWindow('todos', 'TODOs', fn () => Ui::column(
Ui::list(array_map(fn ($t) => Ui::item($t['text'], fn () => $ide->openFile($t['path'], $t['line'])), $this->todos())),
));
$ide->diagnostics('*.php', fn (string $path, string $text) => $this->fixmes($text));
}
- Окна инструментов строятся на PHP из простых элементов: тексты, кнопки, списки, поля, флажки. IDE рисует их в своём стиле.
- Щелчки и другие действия пользователя вызывают ваш PHP.
- Тесты (
PluginTestCase) работают с плагином без окна. Они запускают действие, читают окно, щёлкают в нём, запрашивают автодополнение.
Чтобы попробовать: Tools › Plugins…, затем Install in the IDE рядом с плагином проекта.
Инструменты для Claude
IDE даёт своему Claude MCP-сервер jumphp-ide. Через него Claude управляет IDE: открывает файлы, запускает тесты, отлаживает. Плагин добавляет туда свои инструменты:
$ide->mcpTool('list_todos', 'The TODO comments of the project: path, line, text.',
fn (array $args) => $this->todos($args['path'] ?? ''),
['path' => ['type' => 'string', 'description' => 'only under this folder']]);
Claude видит инструмент как mcp__jumphp-ide__plugin_todo_finder_list_todos. Он выбирает его по описанию: укажите, что он возвращает и когда его использовать. Инструмент работает на PHP внутри IDE и никогда не должен блокировать.
Опубликовать на jumphp.net
В Tools › Plugins… нажмите Publish on jumphp.net рядом с плагином проекта. Нужно войти в аккаунт. После этого плагин появится на странице плагинов.
- Первый аккаунт, опубликовавший идентификатор, становится его владельцем.
- Каждая версия остаётся доступной. Чтобы опубликовать новую, увеличьте
versionвcomposer.json. bin/jumphp plugin:pack todo-finderсоздаёт такой же.zip.- Любой может поставить плагину от 1 до 5 звёзд — на его странице или в IDE (Rate…). Публичная статистика: загрузки и оценка. Автор также видит личную статистику (просмотры, установки, обновления, версии, оценки) на странице, войдя в аккаунт, и в IDE (Statistics).