Nette Documentation Preview

syntax
Як відкрити файл у редакторі з Tracy? (Інтеграція з IDE)
********************************************************

.[perex]
Коли відображається сторінка помилки, ви можете натиснути на імена файлів, і вони відкриються у вашому редакторі з курсором на відповідному рядку. Файли також можна створювати (дія `create file`) або виправляти в них помилки (дія `fix it`). Для цього необхідно налаштувати браузер і систему.

Tracy відкриває файли через URL виду `editor://open/?file=%file&line=%line`, тобто за протоколом `editor://`. Для цього ми зареєструємо власний обробник. Це може бути будь-який виконуваний файл, який обробить параметри і запустить наш улюблений редактор.

Ви можете змінити URL у змінній `Tracy\Debugger::$editor` або вимкнути клік-критерій, встановивши `Tracy\Debugger::$editor = null`.


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

1. Завантажте відповідні файли "зі сховища Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/windows на диск.

2. відредагуйте `open-editor.js` і відкоментуйте або відредагуйте шлях до вашого редактора в `settings`:

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

	...
}

...
```

Будьте уважні та зберігайте подвійні косі риски в шляхах.

3. Зареєструйте обробник для протоколу `editor://` у системі.

Це робиться шляхом запуску скрипта `install.cmd`. **Ви повинні запустити його від імені адміністратора.** Скрипт `open-editor.js` тепер буде обслуговувати протокол `editor://`.

Щоб відкрити посилання, створені на інших серверах, таких як продакшн-сервер або Docker, додайте віддалене до локального зіставлення URL-адрес до `open-editor.js`:

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


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

1. Завантажте відповідні файли "з репозиторію Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/linux у каталог `~/bin`.

2. відредагуйте `open-editor.sh` і відкоментуйте або відредагуйте шлях до вашого редактора у змінній `editor`:

```shell
#!/bin/bash

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

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

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

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

...
```

Зробіть його виконуваним:

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

Якщо редактор, який ви використовуєте, не встановлений з пакета, у бінарному файлі, швидше за все, не буде шляху до `$PATH`. Це можна легко виправити. У каталозі `~/bin` створіть сімлінк на двійковий файл редактора. .[note]


3. Зареєструйте в системі обробник для протоколу `editor://`.

Це робиться шляхом запуску скрипта `install.sh`. Тепер скрипт `open-editor.js` обслуговуватиме протокол `editor://`.


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

Такі редактори, як PhpStorm, TextMate тощо, дають змогу відкривати файли через спеціальний URL, який потрібно просто задати:

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

Якщо ви використовуєте автономний Tracy, поставте рядок перед `Tracy\Debugger::enable()`, якщо Nette, то перед `$configurator->enableTracy()` в `Bootstrap.php`.

На жаль, дії `create file` або `fix it` не працюють на macOS.


Демонстрації .[#toc-demos]
==========================

Виправлення помилки:

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

Створення нового файлу:

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


Усунення неполадок .[#toc-troubleshooting]
==========================================

- У Firefox вам може знадобитися [дозволити |http://kb.mozillazine.org/Register_protocol#Firefox_3.5_and_above] виконання користувацького протоколу в about:config, встановивши `network.protocol-handler.expose.editor` на `false` і `network.protocol-handler.expose-all` на `true`. Однак це має бути дозволено за замовчуванням.
- Якщо не все працює відразу, не панікуйте. Спробуйте оновити сторінку, перезавантажити браузер або комп'ютер. Це має допомогти.
- Дивіться [тут |https://www.winhelponline.com/blog/error-there-is-no-script-engine-for-file-extension-when-running-js-files/], щоб виправити:
 Помилка введення: Не існує скриптового движка для файлів з розширенням ".js" Можливо, ви пов'язали файл з розширенням ".js" з іншим додатком, а не скриптовим движком JScript.

Починаючи з версії Google Chrome 77, ви більше не побачите прапорець "Завжди відкривати ці типи посилань у пов'язаному додатку", коли редактор відкривається за посиланням. Обхідний шлях для Windows: створіть файл `fix.reg`:

```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
```
Імпортуйте його подвійним клацанням і перезапустіть Chrome.


Якщо у вас виникнуть додаткові проблеми або запитання, задавайте їх на [форумі |https://forum.nette.org].

Як відкрити файл у редакторі з Tracy? (Інтеграція з IDE)

Коли відображається сторінка помилки, ви можете натиснути на імена файлів, і вони відкриються у вашому редакторі з курсором на відповідному рядку. Файли також можна створювати (дія create file) або виправляти в них помилки (дія fix it). Для цього необхідно налаштувати браузер і систему.

Tracy відкриває файли через URL виду editor://open/?file=%file&line=%line, тобто за протоколом editor://. Для цього ми зареєструємо власний обробник. Це може бути будь-який виконуваний файл, який обробить параметри і запустить наш улюблений редактор.

Ви можете змінити URL у змінній Tracy\Debugger::$editor або вимкнути клік-критерій, встановивши Tracy\Debugger::$editor = null.

Windows

  1. Завантажте відповідні файли зі сховища Tracy на диск.
  2. відредагуйте 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

  1. Завантажте відповідні файли з репозиторію Tracy у каталог ~/bin.
  2. відредагуйте 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“ Можливо, ви пов'язали файл з розширенням „.js“ з іншим додатком, а не скриптовим движком JScript.

Починаючи з версії Google Chrome 77, ви більше не побачите прапорець „Завжди відкривати ці типи посилань у пов'язаному додатку“, коли редактор відкривається за посиланням. Обхідний шлях для Windows: створіть файл fix.reg:

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

Імпортуйте його подвійним клацанням і перезапустіть Chrome.

Якщо у вас виникнуть додаткові проблеми або запитання, задавайте їх на форумі.