IT

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 version in composer.json.
  • bin/jumphp plugin:pack todo-finder crea 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).