Как да отворите файл в редактор от 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” с друго приложение, а не с JScript енджина.
От версия 77 на Google Chrome вече няма да се показва квадратчето “Винаги
отваряй този тип връзка в свързаното приложение”, когато редакторът
се отваря чрез връзка. Обходно решение за Windows: Създайте файл
fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Импортирайте го с двукратно щракване и рестартирайте Chrome.
Ако имате допълнителни проблеми или въпроси, задайте ги във форума.