Plugins der IDE
Die JumPHP IDE lässt sich mit in PHP geschriebenen Plugins erweitern. Ein Plugin kann hinzufügen:
- Aktionen (Menüs, Find Action, Tastenkürzel);
- Werkzeugfenster;
- Ausführungskonfigurationen;
- Vervollständigung und Probleme (beim Tippen unterstrichen);
- Werkzeuge für Claude.
Plugins laufen in der Desktop-IDE.
Ein Plugin installieren
Öffne in der IDE Tools › Plugins…. Dort findest du:
- Auf jumphp.net: Suche ein Plugin und klicke auf Install. Wenn eine neuere Version erscheint, wird daraus Update.
- Install from a Folder…: installiert den Ordner eines Plugins.
- Die Liste der installierten Plugins: Du kannst sie aktivieren, deaktivieren oder entfernen.
Updates: Die IDE prüft jumphp.net kurz nach dem Start und dann alle 6 Stunden. Eine Benachrichtigung bietet Update an; mit Update plugins automatically installiert sie die Updates selbst. Die neue Version gilt ab dem nächsten Start.
Ein Plugin ist PHP, das mit deinen Rechten läuft: Installiere nur Plugins, denen du vertraust.
Ein Plugin erstellen
bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder
Du kannst auch New Project › IDE plugin in der IDE verwenden.
Die Klasse des Plugins, src/TodoPlugin.php, fügt hinzu, was es mitbringt:
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));
}
- Werkzeugfenster werden in PHP aus einfachen Elementen gebaut: Texte, Schaltflächen, Listen, Felder, Kontrollkästchen. Die IDE zeichnet sie in ihrem eigenen Stil.
- Klicks und die anderen Aktionen des Benutzers rufen dein PHP auf.
- Tests (
PluginTestCase) verwenden das Plugin ohne Fenster. Sie führen eine Aktion aus, lesen ein Fenster, klicken darin, fragen die Vervollständigung ab.
Zum Ausprobieren: Tools › Plugins…, dann Install in the IDE neben dem Plugin des Projekts.
Werkzeuge für Claude
Die IDE gibt ihrem Claude einen MCP-Server, jumphp-ide. Claude steuert damit die IDE: Dateien öffnen, Tests starten, debuggen. Ein Plugin fügt ihm eigene Werkzeuge hinzu:
$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 sieht das Werkzeug als mcp__jumphp-ide__plugin_todo_finder_list_todos. Es wählt es anhand seiner Beschreibung: Sag, was es zurückgibt und wann man es verwendet. Das Werkzeug läuft in PHP in der IDE und darf nie blockieren.
Auf jumphp.net veröffentlichen
Klicke in Tools › Plugins… neben dem Plugin des Projekts auf Publish on jumphp.net. Du musst angemeldet sein. Das Plugin erscheint dann auf der Plugin-Seite.
- Das erste Konto, das eine ID veröffentlicht, wird ihr Besitzer.
- Jede Version bleibt verfügbar. Für eine neue erhöhe die
versionincomposer.json. bin/jumphp plugin:pack todo-findererzeugt dieselbe.zip.- Jeder kann ein Plugin mit 1 bis 5 Sternen bewerten, auf seiner Seite oder in der IDE (Rate…). Öffentliche Statistiken: Downloads und Bewertung. Der Autor sieht zusätzlich die privaten Statistiken (Aufrufe, Installationen, Updates, Versionen, Bewertungen) angemeldet auf der Seite und in der IDE (Statistics).