Nette Documentation Preview

syntax
Como abrir um arquivo em Editor da Tracy? (Integração IDE)
**********************************************************

.[perex]
Quando a página de erro for exibida, você pode clicar nos nomes dos arquivos e eles serão abertos em seu editor com o cursor na linha correspondente. Os arquivos também podem ser criados (ação `create file`) ou corrigidos com bugs (ação `fix it`). Para isso, você precisa configurar o navegador e o sistema.

Tracy abre arquivos via URLs do formulário `editor://open/?file=%file&line=%line`, ou seja, com o protocolo `editor://`. Registraremos nosso próprio manipulador para este. Este pode ser qualquer arquivo executável que processe os parâmetros e inicie nosso editor favorito.

Você pode alterar a URL na variável `Tracy\Debugger::$editor`, ou desativar o click-through definindo `Tracy\Debugger::$editor = null`.


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

1. Faça o download dos arquivos apropriados "do repositório Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/windows para o disco.

2. Editar `open-editor.js` e descomentar ou editar o caminho para seu editor em `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%"',

	...
}

...
```

Tenha cuidado e mantenha os cortes duplos nos caminhos.

3. Registre o manipulador para o protocolo `editor://` no sistema.

Isto é feito através da `install.cmd`. ** Você precisa executá-lo como Administrador.** O script `open-editor.js` servirá agora ao protocolo `editor://`.

Para abrir links gerados em outros servidores, como um servidor de produção ou o Docker, adicione um mapeamento de URL remoto para local em `open-editor.js`:

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


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

1. Baixe os arquivos apropriados "do repositório Tracy":https://github.com/nette/tracy/tree/master/tools/open-in-editor/linux para o diretório `~/bin`.

2. Editar `open-editor.sh` e descomentar ou editar o caminho para seu editor na variável `editor`:

```shell
#!/bin/bash

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

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

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

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

...
```

Torná-lo executável:

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

Se o editor que você está usando não estiver instalado a partir do pacote, o binário provavelmente não terá um caminho em `$PATH`. Isto pode ser facilmente corrigido. No diretório `~/bin`, crie um link simbólico no binário do editor. .[note]


3. Registre o manipulador para o protocolo `editor://` no sistema.

Isto é feito através da `install.sh`. O script `open-editor.js` servirá agora ao protocolo `editor://`.


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

Editores como PhpStorm, TextMate, etc. permitem que você abra arquivos através de uma URL especial, que você só precisa definir:

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

Se você estiver usando Tracy autônomo, coloque a linha antes de `Tracy\Debugger::enable()`, se Nette, antes do `$configurator->enableTracy()` em `Bootstrap.php`.

Infelizmente, as ações `create file` ou `fix it` não funcionam em macOS.


Demos .[#toc-demos]
===================

Consertando o bug:

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

Criação de um novo arquivo:

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


Solução de problemas .[#toc-troubleshooting]
============================================

- No Firefox você pode precisar [permitir |http://kb.mozillazine.org/Register_protocol#Firefox_3.5_and_above] a execução do protocolo personalizado em about:config config config config config configurando `network.protocol-handler.expose.editor` para `false` e `network.protocol-handler.expose-all` para `true`. Deve ser permitido por padrão, no entanto.
- Se não estiver tudo funcionando imediatamente, não entre em pânico. Tente atualizar a página, reinicie o navegador ou o computador. Isso deve ajudar.
- Veja [aqui |https://www.winhelponline.com/blog/error-there-is-no-script-engine-for-file-extension-when-running-js-files/] para consertar:
 Erro de entrada: Não existe um mecanismo de script para extensão de arquivo ".js" Talvez você tenha associado o arquivo ".js" a outro aplicativo, não ao mecanismo JScript.

A partir da versão 77 do Google Chrome você não verá mais a caixa de seleção "Sempre abra estes tipos de links no aplicativo associado" quando o editor for aberto através de um link. Solução para o Windows: criar arquivo `fix.reg`:

```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
```
Importe-o clicando duas vezes e reinicie o Cromo.


Em caso de mais problemas ou perguntas, pergunte no [fórum |https://forum.nette.org].

Como abrir um arquivo em Editor da Tracy? (Integração IDE)

Quando a página de erro for exibida, você pode clicar nos nomes dos arquivos e eles serão abertos em seu editor com o cursor na linha correspondente. Os arquivos também podem ser criados (ação create file) ou corrigidos com bugs (ação fix it). Para isso, você precisa configurar o navegador e o sistema.

Tracy abre arquivos via URLs do formulário editor://open/?file=%file&line=%line, ou seja, com o protocolo editor://. Registraremos nosso próprio manipulador para este. Este pode ser qualquer arquivo executável que processe os parâmetros e inicie nosso editor favorito.

Você pode alterar a URL na variável Tracy\Debugger::$editor, ou desativar o click-through definindo Tracy\Debugger::$editor = null.

Windows

  1. Faça o download dos arquivos apropriados do repositório Tracy para o disco.
  2. Editar open-editor.js e descomentar ou editar o caminho para seu editor em 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%"',

	...
}

...

Tenha cuidado e mantenha os cortes duplos nos caminhos.

3. Registre o manipulador para o protocolo editor:// no sistema.

Isto é feito através da install.cmd. ** Você precisa executá-lo como Administrador.** O script open-editor.js servirá agora ao protocolo editor://.

Para abrir links gerados em outros servidores, como um servidor de produção ou o Docker, adicione um mapeamento de URL remoto para local em open-editor.js:

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

Linux

  1. Baixe os arquivos apropriados do repositório Tracy para o diretório ~/bin.
  2. Editar open-editor.sh e descomentar ou editar o caminho para seu editor na variável editor:
#!/bin/bash

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

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

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

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

...

Torná-lo executável:

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

Se o editor que você está usando não estiver instalado a partir do pacote, o binário provavelmente não terá um caminho em $PATH. Isto pode ser facilmente corrigido. No diretório ~/bin, crie um link simbólico no binário do editor.

3. Registre o manipulador para o protocolo editor:// no sistema.

Isto é feito através da install.sh. O script open-editor.js servirá agora ao protocolo editor://.

macOS

Editores como PhpStorm, TextMate, etc. permitem que você abra arquivos através de uma URL especial, que você só precisa definir:

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

Se você estiver usando Tracy autônomo, coloque a linha antes de Tracy\Debugger::enable(), se Nette, antes do $configurator->enableTracy() em Bootstrap.php.

Infelizmente, as ações create file ou fix it não funcionam em macOS.

Demos

Consertando o bug:

Criação de um novo arquivo:

Solução de problemas

  • No Firefox você pode precisar permitir a execução do protocolo personalizado em about:config config config config config configurando network.protocol-handler.expose.editor para false e network.protocol-handler.expose-all para true. Deve ser permitido por padrão, no entanto.
  • Se não estiver tudo funcionando imediatamente, não entre em pânico. Tente atualizar a página, reinicie o navegador ou o computador. Isso deve ajudar.
  • Veja aqui para consertar:

    Erro de entrada: Não existe um mecanismo de script para extensão de arquivo „.js“ Talvez você tenha associado o arquivo „.js“ a outro aplicativo, não ao mecanismo JScript.

A partir da versão 77 do Google Chrome você não verá mais a caixa de seleção „Sempre abra estes tipos de links no aplicativo associado“ quando o editor for aberto através de um link. Solução para o Windows: criar arquivo fix.reg:

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

Importe-o clicando duas vezes e reinicie o Cromo.

Em caso de mais problemas ou perguntas, pergunte no fórum.