IDE eklentileri
JumPHP IDE, PHP ile yazılmış eklentilerle genişletilebilir. Bir eklenti şunları ekleyebilir:
- eylemler (menüler, Find Action, kısayollar);
- araç pencereleri;
- çalıştırma yapılandırmaları;
- otomatik tamamlama ve sorunlar (yazarken altı çizilir);
- Claude için araçlar.
Eklentiler masaüstü IDE'de çalışır.
Eklenti kurmak
IDE'de Tools › Plugins… menüsünü açın. Orada şunlar var:
- jumphp.net'te: bir eklenti arayın, sonra Install. Daha yeni bir sürüm çıktığında düğme Update olur.
- Install from a Folder…: bir eklentinin klasörünü kurar.
- Kurulu eklentilerin listesi: onları etkinleştirebilir, devre dışı bırakabilir veya kaldırabilirsiniz.
Güncellemeler: IDE, açıldıktan kısa süre sonra ve ardından her 6 saatte bir jumphp.net'i kontrol eder. Bir bildirim Update önerir; Update plugins automatically ile bunları kendisi kurar. Yeni sürüm bir sonraki açılışta kullanılır.
Eklenti, sizin haklarınızla çalışan PHP'dir: yalnızca güvendiklerinizi kurun.
Eklenti oluşturmak
bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder
IDE'de New Project › IDE plugin seçeneğini de kullanabilirsiniz.
Eklentinin sınıfı, src/TodoPlugin.php, getirdiklerini ekler:
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));
}
- Araç pencereleri PHP'de basit öğelerle kurulur: metinler, düğmeler, listeler, alanlar, onay kutuları. IDE onları kendi tarzında çizer.
- Tıklamalar ve kullanıcının diğer eylemleri PHP kodunuzu çağırır.
- Testler (
PluginTestCase) eklentiyi penceresiz kullanır. Bir eylem çalıştırır, bir pencereyi okur, içinde tıklar, otomatik tamamlama ister.
Denemek için: Tools › Plugins…, ardından projenin eklentisinin yanındaki Install in the IDE.
Claude için araçlar
IDE, Claude'una bir MCP sunucusu verir: jumphp-ide. Claude onunla IDE'yi yönetir: dosya açar, test çalıştırır, hata ayıklar. Bir eklenti ona kendi araçlarını ekler:
$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 aracı mcp__jumphp-ide__plugin_todo_finder_list_todos olarak görür. Aracı açıklamasına göre seçer: ne döndürdüğünü ve ne zaman kullanılacağını yazın. Araç IDE içinde PHP olarak çalışır ve asla engellememelidir.
jumphp.net'te yayımlamak
Tools › Plugins… içinde projenin eklentisinin yanındaki Publish on jumphp.net düğmesine tıklayın. Oturum açmış olmanız gerekir. Eklenti ardından eklentiler sayfasında görünür.
- Bir kimliği ilk yayımlayan hesap onun sahibi olur.
- Her sürüm erişilebilir kalır. Yenisini yayımlamak için
composer.jsoniçindekiversiondeğerini artırın. bin/jumphp plugin:pack todo-finderaynı.zipdosyasını oluşturur.- Herkes bir eklentiye sayfasında veya IDE'de (Rate…) 1 ile 5 yıldız arasında puan verebilir. Herkese açık istatistikler: indirmeler ve puan. Yazar ayrıca özel istatistikleri (görüntülemeler, kurulumlar, güncellemeler, sürümler, puanlar) oturum açıkken sayfada ve IDE'de (Statistics) görür.