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" с друго приложение, а не с JScript енджина.

От версия 77 на Google Chrome вече няма да се показва квадратчето "Винаги отваряй този тип връзка в свързаното приложение", когато редакторът се отваря чрез връзка. Обходно решение за 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“ с друго приложение, а не с JScript енджина.

От версия 77 на Google Chrome вече няма да се показва квадратчето „Винаги отваряй този тип връзка в свързаното приложение“, когато редакторът се отваря чрез връзка. Обходно решение за Windows: Създайте файл fix.reg:

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

Импортирайте го с двукратно щракване и рестартирайте Chrome.

Ако имате допълнителни проблеми или въпроси, задайте ги във форума.