Як відкрити файл у редакторі з 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.
Якщо у вас виникнуть додаткові проблеми або запитання, задавайте їх на форумі.