Как открыть файл в редакторе из Tracy? (Интеграция с IDE)
Когда отображается страница ошибки, вы можете нажать на имена
файлов, и они откроются в вашем редакторе с курсором на
соответствующей строке. Файлы также можно создавать (действие
create file
) или исправлять в них ошибки (действие fix it
). Для
этого необходимо настроить браузер и систему.
Tracy открывает файлы через URL вида editor://open/?file=%file&line=%line
, т.е. по
протоколу editor://
. Для этого мы зарегистрируем собственный
обработчик. Это может быть любой исполняемый файл, который обработает
параметры и запустит наш любимый редактор.
Вы можете изменить URL в переменной Tracy\Debugger::$editor
или отключить
клик-критерий, установив Tracy\Debugger::$editor = null
.
Windows
- Загрузите соответствующие файлы из хранилища Tracy на диск.
- Отредактируйте
open-editor.js
и откомментируйте или отредактируйте путь к вашему редактору вsettings
:
var settings = {
// PhpStorm
editor: '"C:\\Program Files\\JetBrains\\PhpStorm 2018.1.2\\bin\\phpstorm64.exe" --line %line% "%file%"',
title: 'PhpStorm',
// NetBeans
// editor: '"C:\\Program Files\\NetBeans 8.1\\bin\\netbeans.exe" "%file%:%line%" --console suppress',
// Sublime Text 2
// editor: '"C:\\Program Files\\Sublime Text 2\\sublime_text.exe" "%file%:%line%"',
...
}
...
Будьте внимательны и сохраняйте двойные косые черты в путях.
3. Зарегистрируйте обработчик для протокола editor://
в системе.
Это делается путем запуска скрипта install.cmd
. Вы должны
запустить его от имени администратора. Скрипт open-editor.js
теперь
будет обслуживать протокол editor://
.
Для того чтобы открывать ссылки, созданные на других серверах,
например, на рабочем сервере или в Docker, добавьте сопоставление
удаленных и локальных URL-адресов на open-editor.js
:
mappings: {
// remote path: local path
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Загрузите соответствующие файлы из репозитория Tracy в
каталог
~/bin
. - Отредактируйте
open-editor.sh
и откомментируйте или отредактируйте путь к вашему редактору в переменнойeditor
:
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Сделайте его исполняемым:
chmod +x ~/bin/open-editor.sh
Если используемый вами редактор не установлен из пакета, в
бинарном файле, скорее всего, не будет пути в $PATH
. Это можно легко
исправить. В каталоге ~/bin
создайте симлинк на двоичный файл
редактора.
3. Зарегистрируйте в системе обработчик для протокола editor://
.
Это делается путем запуска скрипта install.sh
. Теперь скрипт
open-editor.js
будет обслуживать протокол editor://
.
macOS
Такие редакторы, как PhpStorm, TextMate и т.д., позволяют открывать файлы через специальный URL, который нужно просто задать:
// PhpStorm
Tracy\Debugger::$editor = 'phpstorm://open?file=%file&line=%line';
// TextMate
Tracy\Debugger::$editor = 'txmt://open/?url=file://%file&line=%line';
// MacVim
Tracy\Debugger::$editor = 'mvim://open/?url=file://%file&line=%line';
// Visual Studio Code
Tracy\Debugger::$editor = 'vscode://file/%file:%line';
Если вы используете автономный Tracy, поставьте строку перед
Tracy\Debugger::enable()
, если Nette, то перед $configurator->enableTracy()
в
Bootstrap.php
.
К сожалению, действия create file
или fix it
не работают
на macOS.
Демонстрации
Исправление ошибки:
Создание нового файла:
Устранение неполадок
- В Firefox вам может потребоваться разрешить выполнение
пользовательского протокола в about:config, установив
network.protocol-handler.expose.editor
наfalse
иnetwork.protocol-handler.expose-all
наtrue
. Однако это должно быть разрешено по умолчанию. - Если не все работает сразу, не паникуйте. Попробуйте обновить страницу, перезагрузить браузер или компьютер. Это должно помочь.
- Смотрите здесь,
чтобы исправить:
Ошибка ввода: Нет механизма сценариев для расширения файла „.js“ Возможно, вы связали файл „.js“ с другим приложением, а не с механизмом JScript.
Начиная с версии Google Chrome 77, вы больше не увидите флажок „Всегда
открывать эти типы ссылок в связанном приложении“, когда редактор
открывается по ссылке. Обходной путь для Windows: создайте файл
fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Импортируйте его двойным щелчком и перезапустите Chrome.
Если у вас возникнут дополнительные проблемы или вопросы, задавайте их на форуме.