Nette Documentation Preview

syntax
Jak otworzyć plik w edytorze Tracy (integracja z IDE)?
******************************************************

.[perex]
Gdy pojawi się strona z błędami, możesz kliknąć na nazwy plików i otworzą się one w Twoim edytorze z kursorem na odpowiedniej linii. Możesz także tworzyć pliki (akcja `create file`) lub poprawiać w nich błędy (akcja `fix it`). Aby to zrobić, musisz skonfigurować przeglądarkę i system.

Tracy otwiera pliki za pośrednictwem adresów URL o postaci `editor://open/?file=%file&line=%line`, czyli za pomocą protokołu `editor://`. Rejestrujemy niestandardowy handler dla tego jednego. Może to być dowolny plik wykonywalny, który "przeżuwa" parametry i uruchamia nasz ulubiony edytor.

Możesz zmienić adres URL w zmiennej `Tracy\Debugger::$editor`, lub wyłączyć kliknięcie ustawiając `Tracy\Debugger::$editor = null`.


Windows .[#toc-windows]
=======================

1) Pobranie na dysk odpowiednich plików "z repozytorium Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/windows.

2. Edytuj plik `open-editor.js` i odkomentuj pole `settings` i w razie potrzeby edytuj ścieżkę do swojego edytora:

```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%"',

	...
}

...
```

Uważaj, aby zostawić podwójne ukośniki w ścieżkach.

3. Zarejestruj w systemie obsługę dziennika `editor://`.

Robisz to uruchamiając plik `install.cmd`. **Musisz uruchomić go jako Administrator.** Skrypt `open-editor.js` będzie teraz obsługiwał protokół `editor://`.

Aby otworzyć linki wygenerowane na innych serwerach, takich jak serwer produkcyjny lub Docker, należy dodać mapowanie zdalnego adresu URL na lokalny do `open-editor.js`:

```js
	mappings: {
		// remote path: local path
		'/var/www/nette.app': 'W:\\Nette.web\\_web',
	}
```


Linux .[#toc-linux]
===================

1. pobrać odpowiednie pliki "z repozytorium Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/linux do katalogu `~/bin`.

2. Edytuj plik `open-editor.sh` i odkomentuj i ewentualnie edytuj ścieżkę do swojego edytora w zmiennej `editor`.

```shell
#!/bin/bash

# Emacs
#editor='emacs +$LINE "$FILE"'

# gVim
#editor='gvim +$LINE "$FILE"'

# gEdit
#editor='gedit +$LINE "$FILE"'

# Pluma
#editor='pluma +$LINE "$FILE"'

...
```

Spraw, by plik był wykonywalny:

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

Jeśli edytor, którego używasz, nie jest zainstalowany z pakietu, binarny prawdopodobnie nie będzie miał ścieżki w $PATH. Można to łatwo naprawić. Tworzy symlink do binarki edytora w katalogu `~/bin`. .[note]


3. Zarejestruj w systemie obsługę dziennika `editor://`.

Dokonuje się tego poprzez uruchomienie pliku `install.sh` Skrypt `open-editor.sh` będzie teraz obsługiwał protokół `editor://`.


macOS .[#toc-macos]
===================

Edytory takie jak PhpStorm, TextMate itp. pozwalają na otwieranie plików poprzez specjalny adres URL, który wystarczy ustawić:

```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';
```

Jeśli używasz samodzielnych Tracy, umieść linię przed `Tracy\Debugger::enable()`, jeśli Nette, przed `$configurator->enableTracy()` w `Bootstrap.php`.

Niestety, akcje `create file` lub `fix it` nie działają na macOS.


Przykłady .[#toc-demos]
=======================

Naprawa błędów:

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

Tworzenie plików:

<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>


Rozwiązywanie problemów .[#toc-troubleshooting]
===============================================

- W Firefoksie może być konieczne włączenie protokołu [poprzez ustawienie |http://kb.mozillazine.org/Register_protocol#Firefox_3.5_and_above] `network.protocol-handler.expose.editor` na `false` oraz `network.protocol-handler.expose-all` na `true` w about:config.
- Jeśli to nie zadziała od razu, nie panikuj i spróbuj odświeżyć stronę kilka razy przed kliknięciem na link. To zadziała!
- Tutaj jest [link |https://www.winhelponline.com/blog/error-there-is-no-script-engine-for-file-extension-when-running-js-files/], aby naprawić wszelkie błędy:
 Input Error: There is no script engine for file extension ".js" Być może skojarzyłeś plik ".js" z inną aplikacją, a nie z silnikiem JScript.

W Google Chrome od wersji 77 nie będzie już widoczne pole wyboru "Zawsze otwieraj ten typ linku w powiązanej aplikacji", gdy edytor jest uruchamiany przez link. Rozwiązanie dla systemu Windows: utwórz plik `fix.reg`:

```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
```
Kliknij dwukrotnie, aby go zaimportować i ponownie uruchom Chrome.


Wszelkie pytania i uwagi proszę kierować na [forum |https://forum.nette.org].

Jak otworzyć plik w edytorze Tracy (integracja z IDE)?

Gdy pojawi się strona z błędami, możesz kliknąć na nazwy plików i otworzą się one w Twoim edytorze z kursorem na odpowiedniej linii. Możesz także tworzyć pliki (akcja create file) lub poprawiać w nich błędy (akcja fix it). Aby to zrobić, musisz skonfigurować przeglądarkę i system.

Tracy otwiera pliki za pośrednictwem adresów URL o postaci editor://open/?file=%file&line=%line, czyli za pomocą protokołu editor://. Rejestrujemy niestandardowy handler dla tego jednego. Może to być dowolny plik wykonywalny, który „przeżuwa“ parametry i uruchamia nasz ulubiony edytor.

Możesz zmienić adres URL w zmiennej Tracy\Debugger::$editor, lub wyłączyć kliknięcie ustawiając Tracy\Debugger::$editor = null.

Windows

  1. Pobranie na dysk odpowiednich plików z repozytorium Tracy.

2. Edytuj plik open-editor.js i odkomentuj pole settings i w razie potrzeby edytuj ścieżkę do swojego edytora:

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%"',

	...
}

...

Uważaj, aby zostawić podwójne ukośniki w ścieżkach.

3. Zarejestruj w systemie obsługę dziennika editor://.

Robisz to uruchamiając plik install.cmd. Musisz uruchomić go jako Administrator. Skrypt open-editor.js będzie teraz obsługiwał protokół editor://.

Aby otworzyć linki wygenerowane na innych serwerach, takich jak serwer produkcyjny lub Docker, należy dodać mapowanie zdalnego adresu URL na lokalny do open-editor.js:

	mappings: {
		// remote path: local path
		'/var/www/nette.app': 'W:\\Nette.web\\_web',
	}

Linux

  1. pobrać odpowiednie pliki z repozytorium Tracy do katalogu ~/bin.
  2. Edytuj plik open-editor.sh i odkomentuj i ewentualnie edytuj ścieżkę do swojego edytora w zmiennej editor.
#!/bin/bash

# Emacs
#editor='emacs +$LINE "$FILE"'

# gVim
#editor='gvim +$LINE "$FILE"'

# gEdit
#editor='gedit +$LINE "$FILE"'

# Pluma
#editor='pluma +$LINE "$FILE"'

...

Spraw, by plik był wykonywalny:

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

Jeśli edytor, którego używasz, nie jest zainstalowany z pakietu, binarny prawdopodobnie nie będzie miał ścieżki w $PATH. Można to łatwo naprawić. Tworzy symlink do binarki edytora w katalogu ~/bin.

3. Zarejestruj w systemie obsługę dziennika editor://.

Dokonuje się tego poprzez uruchomienie pliku install.sh Skrypt open-editor.sh będzie teraz obsługiwał protokół editor://.

macOS

Edytory takie jak PhpStorm, TextMate itp. pozwalają na otwieranie plików poprzez specjalny adres URL, który wystarczy ustawić:

// 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';

Jeśli używasz samodzielnych Tracy, umieść linię przed Tracy\Debugger::enable(), jeśli Nette, przed $configurator->enableTracy() w Bootstrap.php.

Niestety, akcje create file lub fix it nie działają na macOS.

Przykłady

Naprawa błędów:

Tworzenie plików:

Rozwiązywanie problemów

  • W Firefoksie może być konieczne włączenie protokołu poprzez ustawienie network.protocol-handler.expose.editor na false oraz network.protocol-handler.expose-all na true w about:config.
  • Jeśli to nie zadziała od razu, nie panikuj i spróbuj odświeżyć stronę kilka razy przed kliknięciem na link. To zadziała!
  • Tutaj jest link, aby naprawić wszelkie błędy:

    Input Error: There is no script engine for file extension „.js“ Być może skojarzyłeś plik „.js“ z inną aplikacją, a nie z silnikiem JScript.

W Google Chrome od wersji 77 nie będzie już widoczne pole wyboru „Zawsze otwieraj ten typ linku w powiązanej aplikacji“, gdy edytor jest uruchamiany przez link. Rozwiązanie dla systemu Windows: utwórz plik fix.reg:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"

Kliknij dwukrotnie, aby go zaimportować i ponownie uruchom Chrome.

Wszelkie pytania i uwagi proszę kierować na forum.