Come aprire un file nell'editor da Tracy? (Integrazione con IDE)
Quando viene visualizzata la pagina di errore, è possibile fare clic sui nomi dei file e questi si apriranno nel
tuo editor con il cursore sulla riga corrispondente. È anche possibile creare file (azione create file
)
o correggere errori in essi (azione fix it
). Affinché ciò accada, è necessario configurare il browser e il
sistema.
Tracy apre i file tramite URL nella forma editor://open/?file=%file&line=%line
, cioè con il protocollo
editor://
. Per questo, registreremo un gestore personalizzato. Questo può essere qualsiasi file eseguibile che
“mastichi” i parametri e avvii il nostro editor preferito.
Puoi cambiare l'URL nella variabile Tracy\Debugger::$editor
, o disattivare il clic impostando
Tracy\Debugger::$editor = null
.
Windows
- Scarica i file appropriati dal repository Tracy sul tuo disco.
- Modifica il file
open-editor.js
e nell'arraysettings
decommenta ed eventualmente modifica il percorso del tuo 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%"',
...
}
...
Attenzione, mantieni le doppie barre rovesciate nei percorsi.
3. Registra il gestore del protocollo editor://
nel sistema.
Puoi farlo eseguendo il file install.cmd
. È necessario eseguirlo come Amministratore. Lo script
open-editor.js
gestirà ora il protocollo editor://
.
Per poter aprire i link generati su altri server, come un server live o in Docker, aggiungi anche la mappatura dell'URL
remoto a quello locale in open-editor.js
:
mappings: {
// percorso remoto: percorso locale
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Scarica i file appropriati dal repository
Tracy nella directory
~/bin
. - Modifica il file
open-editor.sh
e decommenta ed eventualmente modifica il percorso del tuo editor nella variabileeditor
.
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Rendi il file eseguibile:
chmod +x ~/bin/open-editor.sh
Se l'editor utilizzato non è installato da un pacchetto, probabilmente il binario non avrà un percorso in $PATH.
Questo può essere facilmente risolto. Nella directory ~/bin
, crea un link simbolico al binario dell'editor.
3. Registra il gestore del protocollo editor://
nel sistema.
Puoi farlo eseguendo il file install.sh
. Lo script open-editor.sh
gestirà ora il protocollo
editor://
.
macOS
Editor come PhpStorm, TextMate, ecc. consentono l'apertura di file tramite un URL speciale, che è sufficiente impostare:
// 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 usi Tracy standalone, inserisci la riga prima di Tracy\Debugger::enable()
, se usi Nette, allora prima di
$configurator->enableTracy()
in Bootstrap.php
.
Purtroppo, le azioni create file
o fix it
non funzionano su macOS.
Esempi
Correzione di un errore:
Creazione di un file:
Risoluzione dei problemi
- In Firefox, potrebbe essere necessario abilitare il protocollo impostando
network.protocol-handler.expose.editor
sufalse
enetwork.protocol-handler.expose-all
sutrue
in about:config. - Se non funziona subito, non farti prendere dal panico e prova a ricaricare la pagina alcune volte prima di fare clic sul link. Si avvierà!
- Ecco un link per
correggere un possibile errore:
Input Error: There is no script engine for file extension ".js"
,Maybe you associated ".js" file to another app, not JScript engine.
onon è disponibile alcun motore di scripting per l'estensione .js
.
In Google Chrome dalla versione 77, non vedrai più la casella di controllo “Apri sempre questo tipo di link
nell'applicazione associata” quando l'editor viene avviato tramite un link. Soluzione per Windows: crea un file
fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Importalo facendo doppio clic e riavvia Chrome.
Per eventuali domande o commenti, si prega di contattare il forum.