Hogyan nyissunk meg fájlt a szerkesztőben a Tracy-ből? (Integráció az IDE-vel)

A hibaoldal megjelenítésekor rá lehet kattintani a fájlnevekre, és azok megnyílnak a szerkesztőben a kurzorral a megfelelő soron. Lehetőség van fájlok létrehozására (create file akció) vagy hibák javítására (fix it akció) is. Ahhoz, hogy ez megtörténjen, konfigurálni kell a böngészőt és a rendszert.

A Tracy az editor://open/?file=%file&line=%line formátumú URL-en keresztül nyitja meg a fájlokat, azaz az editor:// protokollal. Ehhez regisztrálunk egy saját kezelőt. Ez lehet bármilyen futtatható fájl, amely “feldolgozza” a paramétereket és elindítja a kedvenc szerkesztőnket.

Az URL-t megváltoztathatja a Tracy\Debugger::$editor változóban, vagy kikapcsolhatja a kattintást a Tracy\Debugger::$editor = null beállítással.

Windows

  1. Töltse le a megfelelő fájlokat a Tracy repositoryból a lemezre.
  2. Szerkessze az open-editor.js fájlt, és a settings tömbben távolítsa el a kommentet, és szükség esetén módosítsa a szerkesztő elérési útját:
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%"',

	...
}

...

Figyelem, hagyja meg a dupla perjeleket az elérési utakban.

3. Regisztrálja az editor:// protokoll kezelőjét a rendszerben.

Ezt az install.cmd fájl futtatásával teheti meg. Rendszergazdaként kell futtatni. Az open-editor.js szkript mostantól az editor:// protokollt fogja kiszolgálni.

Annak érdekében, hogy más szervereken, például éles szerveren vagy Dockerben generált linkeket is meg lehessen nyitni, egészítse ki az open-editor.js-t a távoli URL helyi URL-re történő leképezésével:

	mappings: {
		// távoli elérési út: helyi elérési út
		'/var/www/nette.app': 'W:\\Nette.web\\_web',
	}

Linux

  1. Töltse le a megfelelő fájlokat a Tracy repositoryból a ~/bin könyvtárba.
  2. Szerkessze az open-editor.sh fájlt, és távolítsa el a kommentet, és szükség esetén módosítsa a szerkesztő elérési útját az editor változóban.
#!/bin/bash

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

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

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

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

...

Tegye a fájlt futtathatóvá:

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

Ha a használt szerkesztő nincs csomagból telepítve, valószínűleg a binárisnak nem lesz elérési útja a $PATH-ban. Ezt egyszerűen javíthatja. A ~/bin könyvtárban hozzon létre egy szimbolikus linket a szerkesztő binárisára.

3. Regisztrálja az editor:// protokoll kezelőjét a rendszerben.

Ezt az install.sh fájl futtatásával teheti meg. Az open-editor.sh szkript mostantól az editor:// protokollt fogja kiszolgálni.

macOS

Az olyan szerkesztők, mint a PhpStorm, TextMate stb., lehetővé teszik a fájlok megnyitását egy speciális URL-en keresztül, amelyet csak be kell állítani:

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

Ha önálló Tracy-t használ, illessze be a sort a Tracy\Debugger::enable() elé, ha Nette-t, akkor a $configurator->enableTracy() elé a Bootstrap.php-ban.

A create file vagy fix it akciók sajnos nem működnek macOS-en.

Bemutatók

Hibajavítás:

Fájl létrehozása:

Hibaelhárítás

  • Firefoxban szükség lehet a protokoll engedélyezésére a network.protocol-handler.expose.editor false-ra és a network.protocol-handler.expose-all true-ra állítással az about:config-ban.
  • Ha nem megy azonnal, ne essen pánikba, és próbálja meg néhányszor frissíteni az oldalt, mielőtt a linkre kattintana. El fog indulni!
  • Itt van egy link az esetleges hiba javítására: Input Error: There is no script engine for file extension ".js", Maybe you associated ".js" file to another app, not JScript engine. illetve a .js kiterjesztéshez nincs elérhető szkript motor.

A Google Chrome 77-es verziójától kezdve már nem látható a „Mindig nyissa meg az ilyen típusú linkeket a társított alkalmazásban” jelölőnégyzet, ha a szerkesztő egy linken keresztül van indítva. Megoldás Windowsra: hozzon létre egy fix.reg fájlt:

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

Importálja dupla kattintással, és indítsa újra a Chrome böngészőt.

Esetleges kérdésekkel vagy megjegyzésekkel kérjük, forduljon a fórumhoz.