Kako odpreti datoteko v urejevalniku iz Tracy? (Integracija z IDE)
Pri prikazu strani z napako lahko kliknete na imena datotek in te se bodo odprle v vašem urejevalniku
s kazalcem na ustrezni vrstici. Prav tako lahko datoteke ustvarjate (dejanje create file) ali v njih popravljate
napake (dejanje fix it). Da bi se to zgodilo, je treba konfigurirati brskalnik in sistem.
Tracy odpira datoteke prek URL-jev v obliki editor://open/?file=%file&line=%line, tj. s protokolom
editor://. Zanj registrirate lastnega upravljalca. To je lahko katera koli izvedljiva datoteka, ki »prežveči«
parametre in zažene vaš priljubljeni urejevalnik.
URL lahko spremenite v spremenljivki Tracy\Debugger::$editor ali pa klikanje onemogočite z nastavitvijo
Tracy\Debugger::$editor = null.
Windows
- Prenesite ustrezne datoteke iz repostorija Tracy na disk.
- Uredite datoteko
open-editor.jsin v poljusettingsodkomentirajte ter po potrebi prilagodite pot do vašega urejevalnika:
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%"',
...
}
...
Pozor, ohranite dvojne poševnice v poteh.
3. Registrirajte upravljalca protokola editor:// v sistemu.
To storite z zagonom datoteke install.cmd. Treba jo je zagnati kot skrbnik. Skript
open-editor.js bo zdaj upravljal protokol editor://.
Da bi bilo mogoče odpirati povezave, ustvarjene na drugih strežnikih, kot na primer na produkcijskem strežniku ali
v Dockerju, v open-editor.js dodajte še preslikavo oddaljene poti na lokalno:
mappings: {
// oddaljena pot: lokalna pot
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Prenesite ustrezne datoteke iz repostorija
Tracy v imenik
~/bin. - Uredite datoteko
open-editor.shin odkomentirajte ter po potrebi prilagodite pot do vašega urejevalnika v spremenljivkieditor.
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Naredite datoteko izvedljivo:
chmod +x ~/bin/open-editor.sh
Če uporabljenega urejevalnika nimate nameščenega iz paketa, verjetno izvedljiva datoteka ne bo imela poti v
$PATH. To lahko enostavno popravite. V imeniku ~/bin ustvarite simbolično povezavo do izvedljive
datoteke urejevalnika.
3. Registrirajte upravljalca protokola editor:// v sistemu.
To storite z zagonom datoteke install.sh. Skript open-editor.sh bo zdaj upravljal protokol
editor://.
macOS
Urejevalniki, kot so PhpStorm, TextMate itd., omogočajo odpiranje datotek prek posebnega URL-ja, ki ga je treba samo nastaviti:
// 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';
Če uporabljate samostojno Tracy, vstavite vrstico pred Tracy\Debugger::enable(), če uporabljate Nette, pa pred
$configurator->enableTracy() v Bootstrap.php.
Dejanji create file ali fix it na žalost v sistemu macOS ne delujeta.
Primeri
Popravek napake:
Ustvarjanje datoteke:
Reševanje težav
- V Firefoxu bo morda treba protokol omogočiti z nastavitvijo
network.protocol-handler.expose.editornafalseinnetwork.protocol-handler.expose-allnatruevabout:config. - Če vam takoj ne uspe, ne paničarite in poskusite nekajkrat osvežiti stran, preden kliknete na povezavo. Začelo bo delovati!
- Tukaj je povezava
za popravek morebitne napake:
Input Error: There is no script engine for file extension ".js",Maybe you associated ".js" file to another app, not JScript engine.oziromaza končnico .js ni na voljo nobenega skriptnega pogona.
V brskalniku Google Chrome od različice 77 ne boste več videli potrditvenega polja »Vedno odpri te vrste povezav
v povezani aplikaciji«, ko se urejevalnik zažene prek povezave. Rešitev za Windows: ustvarite datoteko
fix.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Uvozite jo z dvojnim klikom in ponovno zaženite brskalnik Chrome.
Z morebitnimi vprašanji ali pripombami se obrnite na forum.