TR

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.json içindeki version değerini artırın.
  • bin/jumphp plugin:pack todo-finder aynı .zip dosyası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.