I plugin dell'IDE
Il JumPHP IDE si estende con plugin scritti in PHP. Un plugin può aggiungere:
- azioni (menu, Find Action, scorciatoie);
- finestre degli strumenti;
- configurazioni di esecuzione;
- completamento e problemi (sottolineati mentre scrivi);
- strumenti per Claude.
I plugin funzionano nell'IDE desktop.
Installare un plugin
Nell'IDE, apri Tools › Plugins…. Vi trovi:
- Su jumphp.net: cerca un plugin, poi Install. Quando esce una versione più recente, il pulsante diventa Update.
- Install from a Folder…: installa la cartella di un plugin.
- L'elenco dei plugin installati: puoi attivarli, disattivarli o rimuoverli.
Aggiornamenti: l'IDE controlla jumphp.net poco dopo l'avvio e poi ogni 6 ore. Una notifica propone Update; con Update plugins automatically li installa da solo. La nuova versione si usa al prossimo avvio.
Un plugin è PHP che gira con i tuoi diritti: installa solo quelli di cui ti fidi.
Creare un plugin
bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder
Puoi anche usare New Project › IDE plugin nell'IDE.
La classe del plugin, src/TodoPlugin.php, aggiunge ciò che porta:
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));
}
- Le finestre degli strumenti si costruiscono in PHP con elementi semplici: testi, pulsanti, elenchi, campi, caselle di controllo. L'IDE le disegna nel suo stile.
- I clic e le altre azioni dell'utente richiamano il tuo PHP.
- I test (
PluginTestCase) usano il plugin senza finestra. Eseguono un'azione, leggono una finestra, ci cliccano, chiedono il completamento.
Per provarlo: Tools › Plugins…, poi Install in the IDE accanto al plugin del progetto.
Strumenti per Claude
L'IDE dà al suo Claude un server MCP, jumphp-ide. Claude lo usa per guidare l'IDE: aprire file, lanciare test, fare debug. Un plugin vi aggiunge i propri strumenti:
$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 vede lo strumento come mcp__jumphp-ide__plugin_todo_finder_list_todos. Lo sceglie in base alla descrizione: di' cosa restituisce e quando usarlo. Lo strumento gira in PHP nell'IDE e non deve mai bloccare.
Pubblicare su jumphp.net
In Tools › Plugins…, fai clic su Publish on jumphp.net accanto al plugin del progetto. Devi aver effettuato l'accesso. Il plugin compare poi nella pagina dei plugin.
- Il primo account che pubblica un identificativo ne diventa il proprietario.
- Ogni versione resta disponibile. Per pubblicarne una nuova, aumenta la
versionincomposer.json. bin/jumphp plugin:pack todo-findercrea lo stesso.zip.- Chiunque può dare a un plugin da 1 a 5 stelle, sulla sua pagina o nell'IDE (Rate…). Statistiche pubbliche: download e voto. L'autore vede anche le statistiche private (visite, installazioni, aggiornamenti, versioni, voti) sulla pagina quando ha effettuato l'accesso, e nell'IDE (Statistics).