Comment ouvrir un fichier dans l'éditeur à partir de Tracy ? (Intégration IDE)
Lorsque la page d'erreur est affichée, vous pouvez cliquer sur les noms de fichiers et ils s'ouvriront dans
votre éditeur avec le curseur sur la ligne correspondante. Il est également possible de créer des fichiers (action
create file
) ou d'y corriger des erreurs (action fix it
). Pour ce faire, vous devez configurer le
navigateur et le système.
Tracy ouvre les fichiers via des URL de la forme editor://open/?file=%file&line=%line
, c'est-à-dire avec le
protocole editor://
. Nous allons enregistrer notre propre gestionnaire pour celui-ci. Il peut s'agir de n'importe
quel fichier exécutable qui traite les paramètres et lance notre éditeur préféré.
Vous pouvez modifier l'URL dans la variable Tracy\Debugger::$editor
, ou désactiver le clic en définissant
Tracy\Debugger::$editor = null
.
Windows
- Téléchargez les fichiers appropriés du dépôt Tracy sur le disque.
- Editez
open-editor.js
et décommentez ou modifiez le chemin d'accès à votre éditeur danssettings
:
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%"',
...
}
...
Faites attention et gardez les doubles slashs dans les chemins.
3. Enregistrez le gestionnaire pour le protocole editor://
dans le système.
Ceci est fait en exécutant install.cmd
. **Vous devez l'exécuter en tant qu'administrateur. Le script
open-editor.js
servira désormais le protocole editor://
.
Afin d'ouvrir les liens générés sur d'autres serveurs, tels qu'un serveur de production ou Docker, ajoutez un mappage d'URL
distant à local à open-editor.js
:
mappings: {
// remote path: local path
'/var/www/nette.app': 'W:\\Nette.web\\_web',
}
Linux
- Téléchargez les fichiers appropriés à
partir du référentiel Tracy dans le répertoire
~/bin
. - Editez
open-editor.sh
et décommentez ou modifiez le chemin d'accès à votre éditeur dans la variableeditor
:
#!/bin/bash
# Emacs
#editor='emacs +$LINE "$FILE"'
# gVim
#editor='gvim +$LINE "$FILE"'
# gEdit
#editor='gedit +$LINE "$FILE"'
# Pluma
#editor='pluma +$LINE "$FILE"'
...
Rendez-le exécutable :
chmod +x ~/bin/open-editor.sh
Si l'éditeur que vous utilisez n'est pas installé à partir du paquet, le binaire n'aura probablement pas de
chemin dans $PATH
. Ceci peut être facilement corrigé. Dans le répertoire ~/bin
, créez un lien
symbolique sur le binaire de l'éditeur.
3. Enregistrez le gestionnaire pour le protocole editor://
dans le système.
Pour ce faire, exécutez install.sh
. Le script open-editor.js
servira désormais le protocole
editor://
.
macOS
Les éditeurs comme PhpStorm, TextMate, etc. vous permettent d'ouvrir des fichiers via une URL spéciale, qu'il vous suffit de définir :
// 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';
Si vous utilisez Tracy en mode autonome, mettez la ligne avant Tracy\Debugger::enable()
, si vous utilisez Nette,
avant le $configurator->enableTracy()
dans Bootstrap.php
.
Malheureusement, les actions create file
ou fix it
ne fonctionnent pas sur macOS.
Démonstrations
Correction d'un bogue :
Création d'un nouveau fichier :
Dépannage
- Dans Firefox, il se peut que vous deviez autoriser
l' exécution de protocoles personnalisés dans about:config en définissant
network.protocol-handler.expose.editor
commefalse
etnetwork.protocol-handler.expose-all
commetrue
. Cela devrait toutefois être autorisé par défaut. - Si tout ne fonctionne pas immédiatement, ne paniquez pas. Essayez d'actualiser la page, de redémarrer le navigateur ou l'ordinateur. Cela devrait vous aider.
- Voir ici pour
corriger :
Erreur d'entrée : There is no script engine for file extension “.js” Peut-être avez-vous associé le fichier “.js” à une autre application, et non au moteur JScript.
À partir de la version 77 de Google Chrome, vous ne verrez plus la case à cocher “Toujours ouvrir ces types de liens dans
l'application associée” lorsque l'éditeur est ouvert par un lien. Solution pour Windows : créer un fichier
fix.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"123"="editor://*"
Importez-le en double-cliquant et redémarrez Chrome.
En cas d'autres problèmes ou questions, posez-les sur le forum.