Skip to content

Интеграция с редакторами

ПЛАНИРУЕМАЯ ФУНКЦИЯ

Интеграция с редакторами запланирована, но ещё не реализована. На этой странице описан дизайн и что ожидать. Вклад приветствуется — см. Участие в разработке.

ADP планирует поддержку функции «Открыть в редакторе», позволяющей кликнуть по ссылке на файл в панели отладки и перейти к исходному коду в вашей IDE.

Поддерживаемые редакторы

Следующие редакторы поддерживают пользовательские URL-протоколы:

РедакторПротоколФормат URL
PhpStormphpstorm://phpstorm://open?file={file}&line={line}
VS Codevscode://vscode://file/{file}:{line}
VS Code Insidersvscode-insiders://vscode-insiders://file/{file}:{line}
Cursorcursor://cursor://file/{file}:{line}
Sublime Textsubl://subl://open?url=file://{file}&line={line}
Zedzed://zed://file/{file}:{line}
Novanova://nova://open?path={file}&line={line}
Netbeansnetbeans://netbeans://open?file={file}&line={line}

Планируемые функции

1. Открыть в редакторе (URL-протокол)

Кнопка «Открыть в редакторе» рядом с каждой ссылкой на файл во всех панелях — исключения, логи, события, HTTP-клиент, var dump, стек-трейсы, маршруты и другое.

Настройки будут включать выбор пресета редактора и возможность задать пользовательский шаблон URL.

2. Кликабельные номера строк кода

В просмотрщике кода (компонент CodeHighlight) номера строк станут кликабельными для открытия конкретной строки в вашем редакторе.

3. Линковка стек-трейсов

Стек-трейсы исключений (сейчас простой текст) будут разобраны так, чтобы каждый фрейм ссылался на файл и строку как в File Explorer ADP, так и в вашем редакторе.

4. Копирование пути / URL редактора

Действия для копирования:

  • Абсолютного пути к файлу
  • URL протокола редактора
  • Ссылки файл:строка

5. HTTP-колбэк (удалённый/Docker)

Для сред, где URL-протоколы не работают (Docker, WSL, удалённые серверы), подход с HTTP-колбэком. Панель отправляет POST-запрос к локальному плагину редактора или REST API PhpStorm (http://localhost:63342/api/file/{file}:{line}).

6. Маппинг путей

Для Docker/Vagrant/удалённых сред, где серверные пути отличаются от локальных:

typescript
type EditorConfig = {
    editor: 'phpstorm' | 'vscode' | 'cursor' | 'custom' | ...;
    customUrlTemplate: string;
    pathMapping: Record<string, string>;
    // напр. {"/app": "/Users/me/project"}
};

Приоритет

ФункцияСложностьВлияние
URL-протокол (Открыть в редакторе)СредняяВысокое
Клик по номеру строкиНизкаяСреднее
Линковка стек-трейсовСредняяВысокое
Копирование пути / URLНизкаяСреднее
HTTP-колбэк (удалённый)СредняяСреднее

Выпущено под лицензией MIT.