KO

IDE 플러그인

JumPHP IDE는 PHP로 작성한 플러그인으로 확장할 수 있습니다. 플러그인이 추가할 수 있는 것:

  • 작업 (메뉴, Find Action, 단축키)
  • 도구 창
  • 실행 구성
  • 자동 완성과 문제 (입력하는 동안 밑줄 표시)
  • Claude용 도구

플러그인은 데스크톱 IDE에서 실행됩니다.

플러그인 설치

IDE에서 **Tools › Plugins…**를 엽니다. 다음이 있습니다:

  • jumphp.net에서: 플러그인을 검색한 뒤 Install을 누릅니다. 새 버전이 나오면 버튼이 Update로 바뀝니다.
  • Install from a Folder…: 플러그인 폴더를 설치합니다.
  • 설치된 플러그인 목록: 켜고, 끄고, 제거할 수 있습니다.

업데이트: IDE는 시작 직후와 그 뒤 6시간마다 jumphp.net을 확인합니다. 알림이 Update를 제안하며, Update plugins automatically를 켜면 스스로 설치합니다. 새 버전은 다음 시작부터 사용됩니다.

플러그인은 사용자의 권한으로 실행되는 PHP입니다. 신뢰하는 플러그인만 설치하세요.

플러그인 만들기

bin/jumphp plugin:new todo-finder "TODO Finder"
bin/jumphp install todo-finder
bin/jumphp test todo-finder

IDE의 New Project › IDE plugin으로도 만들 수 있습니다.

플러그인 클래스 src/TodoPlugin.php가 플러그인이 제공하는 기능을 추가합니다:

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));
}
  • 도구 창은 PHP에서 텍스트, 버튼, 목록, 입력란, 체크박스 같은 간단한 요소로 만듭니다. IDE가 자체 스타일로 그립니다.
  • 클릭과 사용자의 다른 동작은 여러분의 PHP를 호출합니다.
  • 테스트(PluginTestCase)는 창 없이 플러그인을 사용합니다. 작업을 실행하고, 창을 읽고, 그 안을 클릭하고, 자동 완성을 요청합니다.

사용해 보려면: **Tools › Plugins…**에서 프로젝트 플러그인 옆의 Install in the IDE를 누릅니다.

Claude용 도구

IDE는 자신의 Claude에게 MCP 서버 jumphp-ide를 제공합니다. Claude는 이를 통해 IDE를 조작합니다: 파일 열기, 테스트 실행, 디버깅. 플러그인은 여기에 자신만의 도구를 추가합니다:

$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에게 이 도구는 mcp__jumphp-ide__plugin_todo_finder_list_todos로 보입니다. Claude는 설명을 보고 도구를 고르므로, 무엇을 반환하고 언제 쓰는지 적어 주세요. 도구는 IDE 안에서 PHP로 실행되며 절대 블록해서는 안 됩니다.

jumphp.net에 공개하기

**Tools › Plugins…**에서 프로젝트 플러그인 옆의 Publish on jumphp.net을 누릅니다. 로그인해야 합니다. 그러면 플러그인이 플러그인 페이지에 나타납니다.

  • 어떤 ID를 처음 공개한 계정이 그 소유자가 됩니다.
  • 모든 버전이 계속 제공됩니다. 새 버전을 공개하려면 composer.json의 version을 올리세요.
  • bin/jumphp plugin:pack todo-finder로 같은 .zip을 만들 수 있습니다.
  • 누구나 플러그인 페이지나 IDE(Rate…)에서 1~5개의 별점을 줄 수 있습니다. 공개 통계: 다운로드 수와 평점. 작성자는 로그인한 페이지와 IDE(Statistics)에서 비공개 통계(조회, 설치, 업데이트, 버전, 평점)도 볼 수 있습니다.