Як відкрити файл у редакторі з Tracy? (Інтеграція з IDE)

Коли відображається сторінка помилки, ви можете натиснути на імена файлів, і вони відкриються у вашому редакторі з курсором на відповідному рядку. Файли також можна створювати (дія create file) або виправляти в них помилки (дія fix it). Для цього необхідно налаштувати браузер і систему.

Tracy відкриває файли через URL виду editor://open/?file=%file&line=%line, тобто за протоколом editor://. Для цього ми зареєструємо власний обробник. Це може бути будь-який виконуваний файл, який обробить параметри і запустить наш улюблений редактор.

Ви можете змінити URL у змінній Tracy\Debugger::$editor або вимкнути клік-критерій, встановивши Tracy\Debugger::$editor = null.

Windows

  1. Завантажте відповідні файли зі сховища Tracy на диск.
  2. відредагуйте open-editor.js і відкоментуйте або відредагуйте шлях до вашого редактора в settings:
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%"',

	...
}

...

Будьте уважні та зберігайте подвійні косі риски в шляхах.

3. Зареєструйте обробник для протоколу editor:// у системі.

Це робиться шляхом запуску скрипта install.cmd. Ви повинні запустити його від імені адміністратора. Скрипт open-editor.js тепер буде обслуговувати протокол editor://.

Щоб відкрити посилання, створені на інших серверах, таких як продакшн-сервер або Docker, додайте віддалене до локального зіставлення URL-адрес до open-editor.js:

	mappings: {
		// remote path: local path
		'/var/www/nette.app': 'W:\\Nette.web\\_web',
	}

Linux

  1. Завантажте відповідні файли з репозиторію Tracy у каталог ~/bin.
  2. відредагуйте open-editor.sh і відкоментуйте або відредагуйте шлях до вашого редактора у змінній editor:
#!/bin/bash

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

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

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

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

...

Зробіть його виконуваним:

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

Якщо редактор, який ви використовуєте, не встановлений з пакета, у бінарному файлі, швидше за все, не буде шляху до $PATH. Це можна легко виправити. У каталозі ~/bin створіть сімлінк на двійковий файл редактора.

3. Зареєструйте в системі обробник для протоколу editor://.

Це робиться шляхом запуску скрипта install.sh. Тепер скрипт open-editor.js обслуговуватиме протокол editor://.

macOS

Такі редактори, як PhpStorm, TextMate тощо, дають змогу відкривати файли через спеціальний URL, який потрібно просто задати:

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

Якщо ви використовуєте автономний Tracy, поставте рядок перед Tracy\Debugger::enable(), якщо Nette, то перед $configurator->enableTracy() в Bootstrap.php.

На жаль, дії create file або fix it не працюють на macOS.

Демонстрації

Виправлення помилки:

Створення нового файлу:

Усунення неполадок

  • У Firefox вам може знадобитися дозволити виконання користувацького протоколу в about:config, встановивши network.protocol-handler.expose.editor на false і network.protocol-handler.expose-all на true. Однак це має бути дозволено за замовчуванням.
  • Якщо не все працює відразу, не панікуйте. Спробуйте оновити сторінку, перезавантажити браузер або комп'ютер. Це має допомогти.
  • Дивіться тут, щоб виправити:

    Помилка введення: Не існує скриптового движка для файлів з розширенням “.js” Можливо, ви пов'язали файл з розширенням “.js” з іншим додатком, а не скриптовим движком JScript.

Починаючи з версії Google Chrome 77, ви більше не побачите прапорець “Завжди відкривати ці типи посилань у пов'язаному додатку”, коли редактор відкривається за посиланням. Обхідний шлях для Windows: створіть файл fix.reg:

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

Імпортуйте його подвійним клацанням і перезапустіть Chrome.

Якщо у вас виникнуть додаткові проблеми або запитання, задавайте їх на форумі.