Najlepsze narzędzia do debugowania dla JavaScript/XULRunner Development [zamknięty]
W ciągu ostatnich kilku miesięcy zacząłem mój pierwszy poważny rozwój JavaScript, jak zacząłem tworzyć aplikacje XUL. Używam Notepad++ jako mojego edytora, ale byłem dość zbulwersowany, aby znaleźć (o ile mogę powiedzieć), że Venkman / Javascript Debugger jest Narzędzie do debugowania. Wydaje się to słabym zamiennikiem Visual Studio dla języków. Net.
Czy coś przeoczyłem? Jakie są najlepsze narzędzia i najlepsze praktyki w rozwoju JavaScript? Czy jest jakiś killer IDE / debugger / editor kombinacja, której nie znam?
To musi być łatwiejsze niż to, choć.
Słyszałem jakąś wzmiankę o Eclipse - czy to dobry wybór? Niewiele o tym wiem.
Edit: niektórzy z was zwrócili uwagę na Firebug - chyba mój problem polegał na tym, że nie używam JavaScript do tworzenia stron internetowych, dla których Firebug wydaje się być narzędziem -- zamiast tego używam go do tworzenia XUL w xulrunner. Co może być po prostu słabością lub niedojrzałością xulrunner .
14 answers
Tak, obecnie nie ma przyzwoitego debuggera dla rozwoju XUL+JS. Ale w moim kilkuletnim doświadczeniu poradziłbym sobie bez niego. Oto jak:
- Użyj logowania. Albo zaimplementuj własne narzędzia do logowania, albo wspólne (np. https://wiki.mozilla.org/Labs/JS_Modules#Logging chociaż jeszcze tego nie używałem; Zobacz też http://developer.mozilla.org/en/docs/Using_JavaScript_code_modules )
- podczas pisania kodu użyj powłoki JS i Live XUL Edytor (z rozszerzenia extension developer ' s extension ) wraz z Inspektorem DOM do prototypowania.
- Skonfiguruj profil do rozwoju , a następnie Debuguj, poprawiając kod źródłowy (dodając logging i alert () s:) i przeładowując okno, którego to dotyczy.
- jeśli to możliwe, napisz testy jednostkowe przy użyciu dostępnych frameworków (obecnie nie są one powszechnie używane z kodem spoza drzewa Mozilli)
Miejmy nadzieję, że Komodo (edytor/IDE oparty na Mozilli, poszedł open-source w zeszłym roku) w końcu rozrosną się narzędzia do debugowania kodu Mozilli.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 11:53:35
Firebug jest całkiem niezrównany do tworzenia JavaScript w przeglądarce.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-07 04:47:45
XULRunner / Firefox obsługuje natywne zdalne debugowanie! Możesz używać XULRunner jako debuggee, a firefox jako debugger.
Instrukcja zdalnego debgowania znajduje się w MDN.
Musisz ustawić pref devtools.debugger.remote-enabled
na true
zarówno w debuggee, jak i debuggerze.
Użyj tego kodu w swojej aplikacji:
var windowtype = ...
Components.utils.import('resource://gre/modules/devtools/dbg-server.jsm');
DebuggerServer.chromeWindowType = windowtype;
if (!DebuggerServer.initialized) {
DebuggerServer.init();
DebuggerServer.addBrowserActors(windowtype);
}
DebuggerServer.openListener(6000);
Jeśli Twoja strona jest (X)html, Przypisz windowtype
z null
; jeśli Twoja strona jest xul, Przypisz windowtype
z tą samą wartością atrybutu windowtype xul:window
element:
<xul:window windowtype=... >
...
</xul:window>
Uruchom aplikację XULRunner, a w Firefoksie przejdź do narzędzia > Web Developer > Connect..., podłącz do localhost, port 6000, i powinieneś być w stanie debugować.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-07 14:34:36
Jak już mówiłem w innym poście , dla mnie najwygodniejszym narzędziem debugowania dla JavaScript jest Mozrepl . Jest to rozszerzenie Firefox/XULRunner, które uzyskuje dostęp do instancji przeglądarki/aplikacji za pomocą telnet, i można obserwować i manipulować wszystkim w aplikacji zdalnie; nawet sam framework.
Jest niezwykle przydatny jako debuger (w samodzielnych aplikacjach XUL jest to jedyny znośny sposób na prawdziwe debugowanie) oraz jako narzędzie do zabawy i zrozumienia odwaga Twojej aplikacji, przyspiesza twój czas rozwoju Xul Javascript dziesięciokrotnie.
Aby zobaczyć imponujące demo możliwości is, sprawdź ten film .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:25:02
'alert (x);' była podstawową techniką zbyt długo.
FireBug, jak mówili inni, jest sposobem na debugowanie Firefoksa.
Aptana IDE (oparte na eclipse) zrobiło ostatnio trochę zamieszania w regionie javascript IDE.
Visual Studio 2008 zawiera znacznie ulepszone możliwości debugowania javascript w stosunku do poprzednich wersji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-07 04:48:54
Logowanie jest koniecznością. a js Shell na pewno pomoże przy pisaniu kodu. http://www.squarefree.com/shell/
Nocne Kompilacje WebKit mają kilka świetnych nowych narzędzi debugowania:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-07 04:53:34
W trosce o kompletność, jeśli używasz wersji platformy Mozilla
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-25 19:51:31
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-24 12:14:21
Szukałem w Google (XUL IDE) i pierwszym trafieniem była lista Na Mozilli wiki różnych XUL IDE.w wynikach znalazłem również aplikację o nazwie xulu studio .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-22 14:41:11
Zajmuję się dużo rozwojem XUL/JS i używam kombinacji Eclipse i JSEclipse do edycji kodu i Venkman do debugowania. Praca Venkmana z aplikacją XUL może być trudna, ale warto się wysilić.
Http://developer.mozilla.org/en/Debugging_a_XULRunner_Application posiada informacje o włączeniu Venkman w Twojej aplikacji. Sprawdź to; zapewniam cię, że warto poświęcić na to czas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-15 23:48:18
Jeśli używasz SQLite w ogóle, zwłaszcza dla rozwoju Firefoksa, sugerowałbym dodatek do Firefoksa " SQLite Manager". Nie tylko pozwala to łatwo zobaczyć informacje o Profilu przechowywane przez Firefoksa w profilach użytkowników, ale można również otworzyć inne bazy danych SQLite. Bardzo przydatne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-21 08:47:45
Debug and Profile JavaScripts-Debugger JavaScript i narzędzie profilowe. http://www.globinch.com/2010/05/04/debug-and-profile-javascripts-using-venkman-javascript-debugger-and-profile-tool/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-05 10:22:15
Nie wykonałem żadnego programowania/debugowania XUL, ale poniżej znajduje się lista moich narzędzi do debugowania Javascript/dev.
Firebug
-
FireRainbow, FireRainbow włącza podświetlanie składni javascript dla Firebug
FirePHP ,FirePHP umożliwia logowanie się do konsoli Firebug za pomocą prostego wywołania metody PHP.
Widerbug, może wykorzystać szerokie ekrany dla js debugowanie/rozwój. Przestarzały teraz, ponieważ jest obsługiwany w Firebug 1.9 zaraz po wyjęciu z pudełka.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-10 10:46:57