Как да отворите файл в редактора от Tracy? (Интеграция с IDE)
При показване на страницата с грешка можете да кликнете върху
имената на файловете и те ще се отворят във вашия редактор с курсора на
съответния ред. Също така можете да създавате файлове (действие
create file
) или да коригирате грешки в тях (действие fix it
). За
да се случи това, е необходимо да конфигурирате браузъра и системата.
Tracy отваря файлове чрез URL във формата editor://open/?file=%file&line=%line
,
т.е. с протокол editor://
. За него ще регистрираме собствен handler. Това
може да бъде произволен изпълним файл, който ще “сдъвче” параметрите
и ще стартира любимия ни редактор.
Можете да промените 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. Регистрирайте handler за протокола editor://
в системата.
Това става чрез стартиране на файла install.cmd
. Трябва да го
стартирате като Администратор. Скриптът open-editor.js
вече ще
обслужва протокола editor://
.
За да можете да отваряте връзки, генерирани на други сървъри, като
например на реален сървър или в Docker, добавете в open-editor.js
и
съпоставяне на отдалечен URL към локален:
mappings: {
// отдалечен път: локален път
'/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
създайте символна връзка (symlink) към изпълнимия
файл на редактора.
3. Регистрирайте handler за протокола editor://
в системата.
Това става чрез стартиране на файла install.sh
. Скриптът
open-editor.sh
вече ще обслужва протокола 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 може да се наложи да разрешите протокола чрез настройка на
network.protocol-handler.expose.editor
наfalse
иnetwork.protocol-handler.expose-all
наtrue
в about:config. - Ако не тръгне веднага, не се паникьосвайте и опитайте да презаредите страницата няколко пъти, преди да кликнете върху връзката. Ще тръгне!
- Ето връзка
за коригиране на евентуална грешка:
Input Error: There is no script engine for file extension ".js"
,Maybe you associated ".js" file to another app, not JScript engine.
съответноза разширение .js не е наличен скриптов двигател
.
В Google Chrome от версия 77 вече няма да виждате отметката „Винаги отваряй
тези типове връзки в свързаното приложение“, когато редакторът се
стартира чрез връзка. Решение за Windows: създайте файл fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Импортирайте го с двойно кликване и рестартирайте браузъра Chrome.
С евентуални въпроси или коментари, моля, обърнете се към форума.