Интеграция с редакторами
ПЛАНИРУЕМАЯ ФУНКЦИЯ
Интеграция с редакторами запланирована, но ещё не реализована. На этой странице описан дизайн и что ожидать. Вклад приветствуется — см. Участие в разработке.
ADP планирует поддержку функции «Открыть в редакторе», позволяющей кликнуть по ссылке на файл в панели отладки и перейти к исходному коду в вашей IDE.
Поддерживаемые редакторы
Следующие редакторы поддерживают пользовательские URL-протоколы:
| Редактор | Протокол | Формат URL |
|---|---|---|
| PhpStorm | phpstorm:// | phpstorm://open?file={file}&line={line} |
| VS Code | vscode:// | vscode://file/{file}:{line} |
| VS Code Insiders | vscode-insiders:// | vscode-insiders://file/{file}:{line} |
| Cursor | cursor:// | cursor://file/{file}:{line} |
| Sublime Text | subl:// | subl://open?url=file://{file}&line={line} |
| Zed | zed:// | zed://file/{file}:{line} |
| Nova | nova:// | nova://open?path={file}&line={line} |
| Netbeans | netbeans:// | 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/удалённых сред, где серверные пути отличаются от локальных:
type EditorConfig = {
editor: 'phpstorm' | 'vscode' | 'cursor' | 'custom' | ...;
customUrlTemplate: string;
pathMapping: Record<string, string>;
// напр. {"/app": "/Users/me/project"}
};Приоритет
| Функция | Сложность | Влияние |
|---|---|---|
| URL-протокол (Открыть в редакторе) | Средняя | Высокое |
| Клик по номеру строки | Низкая | Среднее |
| Линковка стек-трейсов | Средняя | Высокое |
| Копирование пути / URL | Низкая | Среднее |
| HTTP-колбэк (удалённый) | Средняя | Среднее |