NL

Plug-ins van de IDE

De JumPHP IDE is uit te breiden met plug-ins in PHP. Een plug-in kan toevoegen:

  • acties (menu's, Find Action, sneltoetsen);
  • gereedschapsvensters;
  • uitvoerconfiguraties;
  • aanvulling en problemen (onderstreept terwijl je typt);
  • tools voor Claude.

Plug-ins draaien in de desktop-IDE.

Een plug-in installeren

Open in de IDE Tools › Plugins…. Daar vind je:

  • Op jumphp.net: zoek een plug-in en klik op Install. Komt er een nieuwere versie uit, dan wordt de knop Update.
  • Install from a Folder…: installeert de map van een plug-in.
  • De lijst met geïnstalleerde plug-ins: je kunt ze inschakelen, uitschakelen of verwijderen.

Updates: de IDE controleert jumphp.net kort na het starten en daarna elke 6 uur. Een melding biedt Update aan; met Update plugins automatically installeert ze ze zelf. De nieuwe versie geldt vanaf de volgende start.

Een plug-in is PHP dat met jouw rechten draait: installeer alleen plug-ins die je vertrouwt.

Een plug-in maken

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

Je kunt ook New Project › IDE plugin in de IDE gebruiken.

De klasse van de plug-in, src/TodoPlugin.php, voegt toe wat hij meebrengt:

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));
}
  • Gereedschapsvensters bouw je in PHP met eenvoudige elementen: teksten, knoppen, lijsten, velden, selectievakjes. De IDE tekent ze in haar eigen stijl.
  • Klikken en de andere acties van de gebruiker roepen je PHP aan.
  • Tests (PluginTestCase) gebruiken de plug-in zonder venster. Ze voeren een actie uit, lezen een venster, klikken erin, vragen om aanvulling.

Om het te proberen: Tools › Plugins…, dan Install in the IDE naast de plug-in van het project.

Tools voor Claude

De IDE geeft haar Claude een MCP-server, jumphp-ide. Claude bestuurt er de IDE mee: bestanden openen, tests starten, debuggen. Een plug-in voegt er eigen tools aan toe:

$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 ziet de tool als mcp__jumphp-ide__plugin_todo_finder_list_todos. Hij kiest hem op basis van de beschrijving: zeg wat hij teruggeeft en wanneer je hem gebruikt. De tool draait in PHP in de IDE en mag nooit blokkeren.

Publiceren op jumphp.net

Klik in Tools › Plugins… op Publish on jumphp.net naast de plug-in van het project. Je moet ingelogd zijn. De plug-in verschijnt dan op de pagina met plug-ins.

  • Het eerste account dat een id publiceert, wordt de eigenaar.
  • Elke versie blijft beschikbaar. Verhoog voor een nieuwe de version in composer.json.
  • bin/jumphp plugin:pack todo-finder maakt dezelfde .zip.
  • Iedereen kan een plug-in 1 tot 5 sterren geven, op de pagina of in de IDE (Rate…). Openbare statistieken: downloads en beoordeling. De auteur ziet ook de privéstatistieken (weergaven, installaties, updates, versies, beoordelingen) ingelogd op de pagina, en in de IDE (Statistics).