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ś
versionwcomposer.json. bin/jumphp plugin:pack todo-findertworzy 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).