PL

Wtyczki IDE

JumPHP IDE można rozszerzać wtyczkami napisanymi w PHP. Wtyczka może dodać:

  • akcje (menu, Find Action, skróty);
  • okna narzędzi;
  • konfiguracje uruchamiania;
  • podpowiadanie i problemy (podkreślane podczas pisania);
  • narzędzia dla Claude'a.

Wtyczki działają w IDE na komputerze.

Instalowanie wtyczki

W IDE otwórz Tools › Plugins…. Znajdziesz tam:

  • Na jumphp.net: wyszukaj wtyczkę, potem Install. Gdy pojawi się nowsza wersja, przycisk zmienia się na Update.
  • Install from a Folder…: instaluje folder wtyczki.
  • Listę zainstalowanych wtyczek: możesz je włączać, wyłączać i usuwać.

Aktualizacje: IDE sprawdza jumphp.net chwilę po uruchomieniu, a potem co 6 godzin. Powiadomienie proponuje Update; z opcją Update plugins automatically instaluje je samo. Nowa wersja działa od następnego uruchomienia.

Wtyczka to PHP działający z twoimi uprawnieniami: instaluj tylko te, którym ufasz.

Tworzenie wtyczki

bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder

Możesz też użyć New Project › IDE plugin w IDE.

Klasa wtyczki, src/TodoPlugin.php, dodaje to, co wnosi:

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));
}
  • Okna narzędzi buduje się w PHP z prostych elementów: tekstów, przycisków, list, pól, pól wyboru. IDE rysuje je we własnym stylu.
  • Kliknięcia i inne działania użytkownika wywołują twój PHP.
  • Testy (PluginTestCase) używają wtyczki bez okna. Uruchamiają akcję, czytają okno, klikają w nie, proszą o podpowiedzi.

Aby wypróbować: Tools › Plugins…, a potem Install in the IDE obok wtyczki projektu.

Narzędzia dla Claude'a

IDE daje swojemu Claude'owi serwer MCP, jumphp-ide. Claude steruje nim IDE: otwiera pliki, uruchamia testy, debuguje. Wtyczka dodaje do niego własne narzędzia:

$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 widzi narzędzie jako mcp__jumphp-ide__plugin_todo_finder_list_todos. Wybiera je na podstawie opisu: napisz, co zwraca i kiedy go używać. Narzędzie działa w PHP wewnątrz IDE i nigdy nie może blokować.

Publikowanie na jumphp.net

W Tools › Plugins… kliknij Publish on jumphp.net obok wtyczki projektu. Musisz być zalogowany. Wtyczka pojawi się wtedy na stronie wtyczek.

  • Pierwsze konto, które opublikuje dany identyfikator, staje się jego właścicielem.
  • Każda wersja pozostaje dostępna. Aby opublikować nową, podnieś version w composer.json.
  • bin/jumphp plugin:pack todo-finder tworzy ten sam plik .zip.
  • Każdy może ocenić wtyczkę od 1 do 5 gwiazdek, na jej stronie lub w IDE (Rate…). Statystyki publiczne: pobrania i ocena. Autor widzi też statystyki prywatne (wyświetlenia, instalacje, aktualizacje, wersje, oceny) na stronie po zalogowaniu oraz w IDE (Statistics).