Nette Documentation Preview

syntax
Kako odpreti datoteko v urejevalniku iz Tracy? (Integracija z IDE)
******************************************************************

.[perex]
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
=======

1. Prenesite ustrezne datoteke iz "repostorija Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/windows na disk.

2. Uredite datoteko `open-editor.js` in v polju `settings` odkomentirajte ter po potrebi prilagodite pot do vašega urejevalnika:

```js
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:

```js
	mappings: {
		// oddaljena pot: lokalna pot
		'/var/www/nette.app': 'W:\\Nette.web\\_web',
	}
```


Linux
=====

1. Prenesite ustrezne datoteke iz "repostorija Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/linux v imenik `~/bin`.

2. Uredite datoteko `open-editor.sh` in odkomentirajte ter po potrebi prilagodite pot do vašega urejevalnika v spremenljivki `editor`.

```shell
#!/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:

```shell
chmod +x ~/bin/open-editor.sh
```

.[note]
Č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:

```php
// 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:

<iframe width="560" height="315" src="https://www.youtube.com/embed/3ITT4mC0Eq4?rel=0&amp;showinfo=0" frameborder="0" allow="encrypted-media" allowfullscreen></iframe>

Ustvarjanje datoteke:

<iframe width="560" height="315" src="https://www.youtube.com/embed/AJ_FUivAGZQ?rel=0&amp;showinfo=0" frameborder="0" allow="encrypted-media" allowfullscreen></iframe>


Reševanje težav
===============

- V Firefoxu bo morda treba protokol omogočiti z [nastavitvijo |http://kb.mozillazine.org/Register_protocol#Firefox_3.5_and_above] `network.protocol-handler.expose.editor` na `false` in `network.protocol-handler.expose-all` na `true` v `about: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 |https://www.winhelponline.com/blog/error-there-is-no-script-engine-for-file-extension-when-running-js-files/] 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.` oziroma `za 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 |https://forum.nette.org].

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

  1. Prenesite ustrezne datoteke iz repostorija Tracy na disk.
  2. Uredite datoteko open-editor.js in v polju settings 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, 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

  1. Prenesite ustrezne datoteke iz repostorija Tracy v imenik ~/bin.
  2. Uredite datoteko open-editor.sh in odkomentirajte ter po potrebi prilagodite pot do vašega urejevalnika v spremenljivki editor.
#!/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.editor na false in network.protocol-handler.expose-all na true v about: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. oziroma za 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.