Cum să deschideți un fișier în editor din Tracy? (Integrare cu IDE)
La afișarea paginii de eroare, se poate face clic pe numele fișierelor și acestea se vor deschide în editorul
dvs. cu cursorul pe linia corespunzătoare. De asemenea, se pot crea fișiere (acțiunea create file
) sau corecta
erori în ele (acțiunea fix it
). Pentru ca acest lucru să se întâmple, este necesar să configurați browserul
și sistemul.
Tracy deschide fișierele prin URL în formatul editor://open/?file=%file&line=%line
, adică cu protocolul
editor://
. Pentru acesta vom înregistra un handler personalizat. Acesta poate fi orice fișier executabil care
“mestecă” parametrii și lansează editorul nostru preferat.
Puteți schimba URL-ul în variabila Tracy\Debugger::$editor
sau puteți dezactiva clicarea setând
Tracy\Debugger::$editor = null
.
Windows
- Descărcați fișierele corespunzătoare din repozitoriul Tracy pe disc.
- Editați fișierul
open-editor.js
și în array-ulsettings
decomentați și, eventual, modificați calea către editorul dvs.:
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ție, păstrați slash-urile duble în căi.
3. Înregistrați handlerul protocolului editor://
în sistem.
Acest lucru se face rulând fișierul install.cmd
. Trebuie să îl rulați ca Administrator. Scriptul
open-editor.js
va gestiona acum protocolul editor://
.
Pentru a putea deschide linkuri generate pe alte servere, cum ar fi pe serverul live sau în Docker, adăugați în
open-editor.js
și maparea URL-ului la distanță la cel local:
mappings: {
// cale la distanță: cale locală
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Descărcați fișierele corespunzătoare din
repozitoriul Tracy în directorul
~/bin
. - Editați fișierul
open-editor.sh
și decomentați și, eventual, modificați calea către editorul dvs. în variabilaeditor
.
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Faceți fișierul executabil:
chmod +x ~/bin/open-editor.sh
Dacă editorul utilizat nu este instalat dintr-un pachet, probabil că binarul nu va avea calea în $PATH. Acest
lucru poate fi remediat simplu. În directorul ~/bin
creați un symlink către binarul editorului.
3. Înregistrați handlerul protocolului editor://
în sistem.
Acest lucru se face rulând fișierul install.sh
. Scriptul open-editor.sh
va gestiona acum protocolul
editor://
.
macOS
Editoarele precum PhpStorm, TextMate etc. permit deschiderea fișierelor prin URL-uri speciale, care trebuie doar setate:
// 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';
Dacă utilizați Tracy independent, inserați linia înainte de Tracy\Debugger::enable()
, dacă utilizați Nette,
atunci înainte de $configurator->enableTracy()
în Bootstrap.php
.
Acțiunile create file
sau fix it
din păcate nu funcționează pe macOS.
Exemple
Corectarea unei erori:
Crearea unui fișier:
Depanarea problemelor
- În Firefox, poate fi necesar să permiteți protocolul setând
network.protocol-handler.expose.editor
lafalse
șinetwork.protocol-handler.expose-all
latrue
în about:config. - Dacă nu funcționează imediat, nu intrați în panică și încercați să reîmprospătați pagina de câteva ori înainte de a face clic pe link. Va porni!
- Aici este un link
pentru a repara eventuala eroare:
Input Error: There is no script engine for file extension ".js"
,Maybe you associated ".js" file to another app, not JScript engine.
respectivnu există un motor de scripting disponibil pentru extensia .js
.
În Google Chrome, începând cu versiunea 77, nu veți mai vedea caseta de bifat „Deschideți întotdeauna acest tip de
linkuri în aplicația asociată” atunci când editorul este lansat printr-un link. Soluție pentru Windows: creați un fișier
fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Importați-l făcând dublu clic și reporniți browserul Chrome.
Pentru eventuale întrebări sau comentarii, vă rugăm să vă adresați forumului.