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
versionincomposer.json. bin/jumphp plugin:pack todo-findermaakt 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).