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 (akcija create file
) ali v njih popravljate
napake (akcija fix it
). Da bi se to zgodilo, je treba konfigurirati brskalnik in sistem.
Tracy odpira datoteke prek URL v obliki editor://open/?file=%file&line=%line
, tj. s protokolom
editor://
. Zanj registriramo lastnega upravljalca. To je lahko katera koli izvedljiva datoteka, ki “prežveči”
parametre in zažene naš 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.js
in v poljusettings
odkomentirajte 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, generirane na drugih strežnikih, kot na primer na produkcijskem strežniku ali
v Dockerju, v open-editor.js
dodajte še preslikavo oddaljenega URL-ja na lokalnega:
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.sh
in 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 binarna datoteka ne bo imela poti v $PATH.
To lahko enostavno popravite. V imeniku ~/bin
ustvarite simbolično povezavo do binarne 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
.
Akciji create file
ali fix it
na žalost na 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.editor
nafalse
innetwork.protocol-handler.expose-all
natrue
v about:config. - Če vam takoj ne uspe, ne paničarite in poskusite nekajkrat osvežiti stran, preden kliknete na to 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 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.