Como abrir um arquivo no editor a partir do Tracy? (Integração com IDE)
Ao visualizar a página de erro, você pode clicar nos nomes dos arquivos, e eles serão abertos em seu editor
com o cursor na linha apropriada. Também é possível criar arquivos (ação create file
) ou corrigir erros neles
(ação fix it
). Para que isso aconteça, é necessário configurar o navegador e o sistema.
O Tracy abre arquivos através de uma URL no formato editor://open/?file=%file&line=%line
, ou seja, com
o protocolo editor://
. Registraremos nosso próprio manipulador para isso. Este pode ser qualquer arquivo
executável que “processe” os parâmetros e execute nosso editor favorito.
Você pode alterar a URL na variável Tracy\Debugger::$editor
, ou desativar o clique definindo
Tracy\Debugger::$editor = null
.
Windows
- Baixe os arquivos relevantes do repositório do Tracy para o seu disco.
- Edite o arquivo
open-editor.js
e, no arraysettings
, descomente e, se necessário, ajuste o caminho para o seu editor:
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%"',
...
}
...
Atenção, mantenha as barras duplas invertidas nos caminhos.
3. Registre o manipulador do protocolo editor://
no sistema.
Você faz isso executando o arquivo install.cmd
. É necessário executá-lo como Administrador. O script
open-editor.js
agora manipulará o protocolo editor://
.
Para poder abrir links gerados em outros servidores, como um servidor ativo ou no Docker, adicione o mapeamento de URL remota
para local em open-editor.js
:
mappings: {
// caminho remoto: caminho local
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Baixe os arquivos relevantes do repositório
do Tracy para o diretório
~/bin
. - Edite o arquivo
open-editor.sh
e descomente e, se necessário, ajuste o caminho para o seu editor na variáveleditor
.
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Torne o arquivo executável:
chmod +x ~/bin/open-editor.sh
Se o editor que você usa não foi instalado a partir de um pacote, o binário provavelmente não estará no
$PATH. Isso pode ser corrigido facilmente. No diretório ~/bin
, crie um link simbólico para o binário do
editor.
3. Registre o manipulador do protocolo editor://
no sistema.
Você faz isso executando o arquivo install.sh
. O script open-editor.sh
agora manipulará
o protocolo editor://
.
macOS
Editores como PhpStorm, TextMate, etc., permitem abrir arquivos através de uma URL especial, que só precisa ser definida:
// 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 o Tracy autônomo, insira a linha antes de Tracy\Debugger::enable()
; se estiver usando
o Nette, insira-a antes de $configurator->enableTracy()
em Bootstrap.php
.
Infelizmente, as ações create file
ou fix it
não funcionam no macOS.
Exemplos
Correção de erro:
Criação de arquivo:
Solução de problemas
- No Firefox, pode ser necessário habilitar o protocolo definindo
proxyLoc(network).protocol-handler.expose.editor
comofalse
eproxyLoc(network).protocol-handler.expose-all
comotrue
em about:config. - Se não funcionar imediatamente, não entre em pânico e tente atualizar a página algumas vezes antes de clicar no link. Vai funcionar!
- Aqui está um link para
corrigir um possível erro:
Input Error: There is no script engine for file extension ".js"
,Maybe you associated ".js" file to another app, not JScript engine.
ounenhum mecanismo de script está disponível para a extensão .js
.
No Google Chrome a partir da versão 77, você não verá mais a caixa de seleção „Sempre abrir este tipo de link no
aplicativo associado“ quando o editor for iniciado através de um link. Solução para Windows: crie um 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 Chrome.
Para quaisquer perguntas ou comentários, entre em contato com o fórum.