Jak otevřít soubor v editoru z Tracy?

Při zobrazení chybové stránky lze kliknout na jména souborů a ty se otevřou ve vašem editoru s kurzorem na příslušné řádce. Také lze soubory vytvářet (akce create file) nebo v nich opravovat chyby (akce fix it). Aby se tak stalo, je potřeba prohlížeč a systém nakonfigurovat.

Pokud nezměníte proměnnou Tracy\Debugger::$editor, bude Tracy standardně otevírat soubory přes URL editor://open/?file=%file&line=%line, tj. s protokolem editor://. Pro ten si zaregistrujeme vlastní obsluhu. Tou může být libovolný spustitelný soubor, který „přežvýká“ parametry a spustí náš oblíbený editor.

Windows

  1. Stáhněte si příslušné soubory z repozitáře Tracy na disk.
  2. Upravte soubor open-editor.js a v poli settings odkomentujte a případně upravte cestu k vašemu editoru:
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%"',

    ....
}

....

Pozor, ponechávejte dvojitá lomítka v cestách.

3. Zaregistrujte handler protokolu editor:// v systému.

To uděláte spuštěním soubor install.cmd. Je potřeba ho spustit jako Správce. Skript open-editor.js bude nyní obsluhovat protokol editor://.

Linux

  1. Stáhněte si příslušné soubory z repozitáře Tracy do adresáře ~/bin.
  2. Upravte soubor open-editor.sh a odkomentujte a případně upravte cestu k vašemu editoru v proměnné editor.
#!/bin/bash

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

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

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

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

...

Učiňte soubor spustitelným:

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

Pokud používaný editor nemáte nainstalovaný z balíku, pravděpodobně nebude mít binárka cestu v $PATH. To lze jednoduše napravit. V adresáři ~/bin si vytvořte symlink na binárku editoru.

3. Zaregistrujte handler protokolu editor:// v systému.

To uděláte spuštěním souboru install.sh. Skript open-editor.sh bude nyní obsluhovat protokol editor://.

Mac OS X

Pokud používáte editor TextMate nebo jiný, který umožňuje otevírat soubory přes speciální URL, bude vám stačit toto URL nastavit:

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

Akce create file nebo fix it bohužel na Mac OS X nefungují.

Ukázky

Oprava chyby:

Vytvoření souboru:

Troubleshooting

  • ve Firefoxu může být potřeba protokol povolit nastavením network.protocol-handler.expose.editor na false a network.protocol-handler.expose-all na true v about:config.
  • Pokud vám to hned nepůjde nepanikařte. A zkuste párkrát refreshnout stránku před klikem na onen odkaz. Rozjede se to!
  • V případě chyby. Input Error: There is no script engine for file extension „.js“ Maybe you associated „.js“ file to another app, not JScript engine. Zde je link na opravu.

S případnými dotazy nebo připomínkami se prosím obraťte na fórum.