Jak nastavit Nette\Debug, aby otevíral soubory ve vašem editoru

kluvi
Člen | 5
+
0
-

Funguje. Díky :-)

mishak napsal(a):

Zkus

var editor = '"C:\\Program Files (x86)\\NetBeans 7.0\\bin\\netbeans.exe" "%file%:%line%" --console suppress';
Eda
Backer | 220
+
0
-

Mám Ubuntu 12.04 a nejsem schopen to rozjet.

expose ve Firefoxu jsem nastavil na false, to je ok, zdá se, že chyba je v neschopnosti Ubuntu ohandlovat protokol editor. Není někde návod, jak toho docílit v Unity?

h4kuna
Backer | 740
+
0
-

Taky mám Ubuntu 12.04 a nejede mi to. Na woknech jsem to rozchodil, ale tady zatím nevím a neřešil to do hloubky. Jen vím že příkaz na otevření netbeans se souborem a řádkou funguje, to jsem zkoušel.

Patrik Votoček
Člen | 2221
+
0
-

Ještě jsem nenašel funkční způsob jak nastavit otvírání v Gnome 3 (což se imho týká i Ubuntu 12.04).

@Majkl578: našel nějaké řešení pro Firefox (pro mě jako Chorome usera je to na nic).

Re4DeR
Člen | 71
+
0
-

Ahoj,
rozchodili jste někdo phpStorm na macu ?

jansfabik
Člen | 193
+
+1
-

Mně to na Ubuntu 12.10 funguje takto:

/usr/local/bin/editor-handler

#!/usr/bin/env php
<?php

$url = parse_url($argv[1]);
if ($url['host'] === 'open' && $url['path'] === '/') {
	parse_str($url['query'], $query);
	$arg = $query['file'] . (isset($query['line']) ? ':' . $query['line'] : '');
	exec('sublime-text ' . escapeshellarg($arg));
}

~/.local/share/applications/editor-handler.desktop

[Desktop Entry]
Name=Sublime Text
Exec=editor-handler %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/editor

~/.local/share/applications/mimeapps.list

...
[Default Applications]
x-scheme-handler/editor=editor-handler.desktop
...

Editoval jansfabik (2. 2. 2013 12:05)

h4kuna
Backer | 740
+
0
-

jansfabik napsal(a):

Mně to na Ubuntu 12.10 funguje takto:

Já ti dám pusu, mě to taky jede pro Netbeans/PHPStorm a Ubuntu 12.04/14.04/16.04/18.04/20.04/22.04.

Editoval h4kuna (25. 1. 2023 8:44)

srigi
Nette Blogger | 558
+
0
-

Re4DeR napsal(a):

Ahoj,
rozchodili jste někdo phpStorm na macu ?

Relativne uspokojive a jednoduche riesenie je naistalovat do PHPStormu plugin remote call (Settings/Plugins/Browse repositores) a do config.neon pridat tuto konfiguraciu:

nette:
  debugger:
    editor: 'http://localhost:8091?message=%file:%line'
David Ďurika
Člen | 328
+
0
-

@srigi nastavil som to ako pises, ale nefunguje mi to, po kliknuti na ten link ma to normalne presmeruje v browsery na tu stranku a nic…

Jan Endel
Člen | 1016
+
0
-

Mam podobny problem, i jsem prisel na to cim to, ten plugin precte nazev souboru pouze tehdy, pokud jsou lomitka v ceste neescapovane, ovsem ladenka v tomto odkazu logicky lomitka escapuje html entitama, jde to nejak obejit nebo se radsi vrhnout uplne jinou cestou?

//edit: ok, tak storm to otevre i vyescapovane, ovsem dva problemky:

  1. otevre se to i na novem tabu v okne prohlizece
  2. Storm se nestane aktivnim oknem

Editoval pilec (7. 2. 2013 10:29)

srigi
Nette Blogger | 558
+
0
-

Fook, tak som to nakoniec rozchodil, tak ako sa slusi. V Mac OS X nie je mozne (nevygooglil som) priradit shell script ako handler URL protokolu. Je mozne nastavit iba appku. Pouzite na to tento perfpanel, ktory sa nainstaluje do okna „System Preferences“.

Postup rozchodenia PHPStorm na Mac OS X krok za krokom:

  • nastartujte Applescript editor (najjednoduchsie vyhladanim cez Spotlight)
  • pastnite do okna tento kod:
on open location theUrl

	# transform url encoded path delimeters
	set theUrl to do shell script "echo '" & theUrl & "' | sed 's/%2F/\\//g'"
	#display dialog "theUrl: " & return & theUrl

	# capture file
	set theFile to do shell script "echo '" & theUrl & "' | sed 's/.*file=\\(.*\\)\\&line=.*/\\1/'"
	#display dialog "theFile: " & return & theFile

	# capture line
	set theLine to do shell script "echo '" & theUrl & "' | sed 's/.*\\&line=\\(.*\\)/\\1/'"
	#display dialog "theLine: " & return & theLine

	# run!
	do shell script "/Applications/PhpStorm.app/Contents/MacOS/webide --line " & theLine & " " & theFile

end open location

odkomentovanim display dialog... mozete debuggovat :)

  • ulozte applescript ako appku (nastavi sa pripona .app)
  • pomocou filemanagera klepnite pravim tlacidlom mysi na appku a zvolte Show package contents
  • obsah suboru Contents\PkgInfo nahradte retazcom:
APPLLOCL
  • subor Contents\Info.plist:
    • vyhladajte CFBundleSignature a zmente jeho hodnotu (string o riadok nizsie) na
    LOCL
    • pridajte do toho isteho suboru (najlepsie za prvym <dict>) tento obsah:
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleURLName</key>
        <string>Local File</string>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>editor</string>
        </array>
      </dict>
    </array>
    <key>NSUIElement</key>
    <true/>
  • naistalujte perfpanel More Internet (vid. vyssie)
  • v okne System Preferences klepnite na ikonu More Internet
  • pridajte novu polozku editor
  • vyhladajte novu polozku v zozname a klepnite na change
  • nasmerujte na vytvorenu appku
  • reboot

Blbly Firefox nastavenie URL protokolu aj tak nepochopi, ale po prvom klepnuti na editor:// link sa opyta aku appku ma pustit, nastavte ju a potvrdte zapamatenie.
enjoy :)

Editoval srigi (7. 2. 2013 17:32)

Re4DeR
Člen | 71
+
0
-

Hezky! funguje to paradne, jen phpstorm neziska focus. Da se nejak nastavit jeste to ?

srigi
Nette Blogger | 558
+
0
-

Re4DeR napsal(a):

…phpstorm neziska focus. Da se nejak nastavit jeste to ?

Skus nejako pogooglovat ci sa to v applescripte da. Celkom dobre sa to ladi, staci si nechat otvoreny editor so zdrojakom a klikat na editor link. Ja uz tuto sialenost nekcem ani vidiet :D

Re4DeR
Člen | 71
+
0
-

uprava na kod nize vicemene fugnuje i pri vice otevrenych projektech a zavrenem souboru ve kterem je chyba.
tvari se to jako klik na dock = pokud klik na dock ikonku otevre jiny projekt tak ten shell vzapeti otevre spravny projekt a soubor.

pokud je projekt zavreny otevre se pouze soubor ve kterem je chyba a nenacte(neotevre se cely projekt)

obcas se to chova dost divne :D

pokud mám otevreny jen jeden projekt tak to funguje spravne

jeste prijit na to aby se neotevirali ikonky pro tu pomocnou app a phpStorm se nezkousel otvirat znova, ale pri schovanem docku to je celkem ok. jen hlaska ze mám povolit prichozi spojeni pro phpstorm od firewallu je rusiva. melo by ji snad jit nejak zrusit aktualizaci nebo cim

on open location theUrl

	tell application "System Events"
		tell process "Dock"
			click UI element "PhpStorm" of list 1
		end tell
	end tell

Editoval Re4DeR (7. 2. 2013 21:18)

zimmi
Člen | 94
+
0
-

Zkusil jsem to podle tvého návodu se Sublime Text, ale bohužel se mi vždycky otevře prázdný soubor pojmenovaný editor, jako by zbytek odkazu z Laděnky nebyl vzat v potaz. Nesetkal ses s tím náhodou?

jansfabik napsal(a):

Mně to na Ubuntu 12.10 funguje takto:

/usr/local/bin/editor-handler

#!/usr/bin/env php
<?php

$url = parse_url($argv[1]);
if ($url['host'] === 'open' && $url['path'] === '/') {
	parse_str($url['query'], $query);
	$arg = $query['file'] . (isset($query['line']) ? ':' . $query['line'] : '');
	exec('sublime-text ' . escapeshellarg($arg));
}

~/.local/share/applications/editor-handler.desktop

[Desktop Entry]
Name=Sublime Text
Exec=editor-handler %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/editor

~/.local/share/applications/mimeapps.list

...
[Default Applications]
x-scheme-handler/editor=editor-handler.desktop
...
ic
Člen | 430
+
0
-

Neřešil už někdo, jak toto otvírání souborů v editoru zprovoznit v Netbeans, pokud používám pro spouštění vzdálený server „PHP Application from Remote Server“ ? Funguje to tak, že soubory se ukládají lokálně a po stisku tlačítka na uložení (nebo na spuštění projektu) se synchronizují se serverem a načte stránka ze serveru. Takže fungovat by to mohlo, pokud by se zobrazila ta lokální kopie souboru.

Projekt mi v tomto případě tvoří nesmyslné adresy jako kombinace lokální a vzdáleného souboru.

Jsem jediný, kdo (musí) používat takovýto projekt se vzdáleným serverem?

Milo
Nette Core | 1283
+
0
-

Já to řešil pro namapovaný Samba disk takhle.

o5
Člen | 416
+
+3
-

Pokud by někdo potřeboval settings pro konfiguraci Mac OSX (10.9) + Sublime Text (3), stačí stáhnout tento balík, nainstalovat a pak nastavit cestu takto:

Nette\Diagnostics\Debugger::$editor = 'subl://open/?url=file://%file&line=%line';

Vyzkoušeno.

Tomáš Votruba
Moderator | 1114
+
0
-

Má někdo positivní zkušenost se Sublime Text a Ubuntu 13.04?
Zkoušel jsem český a anglický návod a tuto úpravu a zatím nikde nic.

Editoval Tomáš Votruba (25. 3. 2014 12:29)

peterpp
Člen | 9
+
0
-

Na Max OS X 10.9.4 (Mavericks) s PhpStorm 7.1.3 sa mi osvedcil tento postup pomocou aplikacie LinCastor.app:
https://github.com/…LinCastor.md

Skript je potrebne upravit tak, aby nahradil %2F za lomitko, inak to PhpStorm nepoberie:

#!/bin/sh
# the script will execute with following environmental variables defined:
#   URL_SCHEME   => my-http
#   URL_HOST     => myhost.domain.com
#   URL_PORT     => 8080
#   URL_QUERY    => ?search=blah
#   URL_PATH     => /mysite/a.html
#   URL_FRAGMENT => #myanchor
#
#   HOME => the user's home directory (if any)
#
# you should exit with 0, this means the handler has finished succesfully
# non-zero value indicates an error

REGEX="^url=file://(.*)&line=(.*)$"

if [[ $URL_QUERY =~ $REGEX ]]; then
    #Depending on which version of PHPStorm you're running, uncomment the appropriate app name:
    #osascript -e "tell application \"PhpStorm EAP\" to activate"
    osascript -e "tell application \"PhpStorm\" to activate"

    FILE=` echo "${BASH_REMATCH[1]}" | sed 's/%2F/\//g' `

    /usr/local/bin/pstorm "${FILE}:${BASH_REMATCH[2]}"
    exit 0
fi

exit 1

V config.neon potom staci uviest:

nette:
	debugger:
		editor: 'pstorm://open/?url=file://%file&line=%line'
chemix
Nette Core | 1310
+
+4
-

Rešení pro mac + phpstorm

nette:
    debugger:
        editor: 'phpstorm://open?file=%file&line=%line'

viz: https://youtrack.jetbrains.com/…e/IDEA-65879#…

lucien144
Člen | 10
+
0
-

Tak ještě jedno řešení pro Mac a SublimeText 3 – https://github.com/dhoulb/subl

Ozkoušeno a funguje.

lukin
Člen | 12
+
0
-

Mám problém rozchodit Tracy editor na Windows 8.1

Vše mam zaregistrováno, ale když kliknu od odkaz chyby a má mě to přesměrovat do phpstormu, tak to hodí následující chybu

Pro příponu .js není k dispozici žádný skriptovací stroj.

Pokud jsem to zorklíčoval, tak problém nastává když se v souboru open-editor.js spouští WScript.Shell.
Nesetkal jste se s tím někdo ?

vvoody
Člen | 910
+
+3
-

Ten istý problém u mňa, win 7, donedávna mi to fungovalo.

edit-fixed:
V registroch HKEY_CLASSES_ROOT\.JS musí byt Default hodnota ‚JSFile‘. http://prntscr.com/6f3l65 Hodnotu ‚WebIde80‘ tam možno narval PhpStorm na ktorý som nedávno prešiel. Našťastie po sebe nechal backup_val tak mi to celkom rýchlo doplo.

Editoval vvoody (10. 3. 2015 18:04)

Quinix
Člen | 108
+
0
-

@lukin @vvoody Nejspíš máte rozbitou asociaci .js souborů

Tady to např. řešili http://forum.altap.cz/viewtopic.php?…

lukin
Člen | 12
+
0
-

vvoody napsal(a):

Ten istý problém u mňa, win 7, donedávna mi to fungovalo.

edit-fixed:
V registroch HKEY_CLASSES_ROOT\.JS musí byt Default hodnota ‚JSFile‘. http://prntscr.com/6f3l65 Hodnotu ‚WebIde80‘ tam možno narval PhpStorm na ktorý som nedávno prešiel. Našťastie po sebe nechal backup_val tak mi to celkom rýchlo doplo.

Diky v tom byl zakopanej pes, uz to jede.

ptica
Člen | 1
+
0
-

atom@osx

issue pro build-in atom:// handler je stale jeste otevrene,
takze jsem instaloval atom-handler app, co to umi externe (github)

do config.neon pak davam

nette:
    debugger:
        editor: 'atm://open?url=file:///%file&line=%line'

a voilà!

stepos
Člen | 36
+
0
-

Ahoj, zkouším to na windows 10, firefoxu a netbeans, problém je, že zřejmě firefox provádí převod zpětných lomítek na %5C a netbeans nemůžou pochopitelně cestu bez lomítek najít.

Zkoušel jsem ve firefoxu nastavit network.protocol-handler.expose.editor, ale nemám tam tuto volbu.

Nevíte prosím někdo, co s tím?

ajda2
Člen | 66
+
0
-

Prosím vás o radu, jak vyřešit otevírání zdrojových souborů, když je aplikace v Docker kontejneru.

Otevírání řeším na Windows 10, aplikace v Dockeru a prohlížeč Chrome.
Vycházím z aktuální verze Laděnky a tohoto návodu:
https://tracy.nette.org/…files-in-ide

Celý proces otevírání souboru z prohlížeče z výpisu Laděnky mi funguje v pořádku.
Problém je v tom, že cesta k souboru pro otevření v editoru je cesta, která je uvnitř kontejneru. Ta ovšem neodpovídá reálnému umístění souboru na disku mimo kontejner.
Například soubor je umístěn na disku D:\project-name\app\FrontModule\Presenters\BasePresenter.php.
Tyto zdrojové soubory jsou namapovány skrze Volumes do Docker kontejneru, kde je umístěn \var\www\html\app\FrontModule\Presenters\BasePresenter.php.

Do editoru se tak odesílá cesta uvnitř Docker kontejneru.
Toto samozřejmě skončí chybou, jelikož se editor pokouší otevřít soubor z kontejneru a obdržím tuto chybu:

Cannot find file 'C:\Program Files (x86)\Google\Chrome\Application\73.0.3683.103\var\www\html\app\FrontModule\Presenters\BasePresenter.php'

Lze toto vyřešit skrze proměnnou settings.mappings v souboru open-editor.js, který se stará o zpracování požadavku na otevření souboru?
Případně prosím o radu, jak mapování nastavit.

Všem děkuji za pomoc a rady :)

Editoval ajda2 (23. 4. 2019 12:33)

Mysteria
Člen | 797
+
+3
-

Umí to přímo Tracy: https://doc.nette.org/cs/configuring#…

tracy:
    editorMapping:
        /var/www/project: C:\Web\www\project

Editoval Mysteria (23. 4. 2019 12:49)

ajda2
Člen | 66
+
0
-

Tak už jsem na to přišel a nastavením

<?php
\Tracy\Debugger::$editorMapping = [
	"/var/www/html" => "D:/project-name"
];

?>

je to vyřešeno dynamicky pro každý projekt.
Tak snad to někomu pomůže.

ras
Člen | 135
+
0
-

Ahoj všem,

na Win7 jsem chtěl rozchodit proklik z Tracy do PhpStormu, ale ačkoliv jsem postupoval podle návodu a stáhl si vše tak jak to David publikuje na githubu a upravil si v tom cesty, tak mě to nefunguje. Háže to chybu/error.

Když kliknu v laděnce na FIX IT odkaz, tak mě vyskočí okno windows s požadavkem na to, kterou aplikaci má systém spustit → vyberu

wsript "e:\Programs\open-editor.js" "%1"

a pak vyskočí chybové okno Windows Script Host s informacemi

Skript: e:\Programs\open-editor.js
Řádek: 1
Znak: 8
Chyba: Byl očekáván znak ';'
Kód: 800A03EC
Zdroj: Microsoft JSript - chyba kompilace

Sice to zní relativně jasně, ale na řádku 1 jsou na začátku tyto znaky

var settings = {

	// PhpStorm
	editor: '"E:\\Programs\\PhpStorm\\bin\\phpstorm64.exe" --line %line% "%file%"',
	title: 'PhpStorm',

	mappings: {
		// '/remotepath': '/localpath'
	}
};

takže, kde tam na osmé pozici chybí středník to tedy nevím … ale zkoušel jsem všechno možné s doplňováním či odebíráním středníků, zakomentováním mappings, úpravou toho celého kódu, atd. … a nic, hláška stále.

Co jsem zcela jednoznačně vysledoval je to, že když přemístím tento řádek jinam, tak se změní číslo řádku, atd. → tj. problém je zcela evidentně v něm.

Máte někdo nějaký nápad, jak to vyřešit? Už jsem toho vyzkoušel a pro googloval příliš na to, abych přišel na něco dalšího :O(

Díky moc za pomoc.

Radek

Editoval ras (6. 6. 2020 19:54)

David Grudl
Nette Core | 8218
+
+1
-

Není tam BOM?

ras
Člen | 135
+
0
-

David Grudl napsal(a):

Není tam BOM?

Bingo, díky Davide.
Po použítí funkce Remove BOM v PphStormu to již funguje.