2008-08-07 72 views
30

在過去的幾個月中,我開始了我的第一個嚴肅的JavaScript開發,因爲我開始開發XUL應用程序。我使用Notepad ++作爲我的編輯器,但是我非常驚訝地發現(據我所知)Venkman/Javascript調試器是調試工具。對於.Net語言來說,它似乎是Visual Studio的一個糟糕的替代品。用於JavaScript/xulrunner開發的最佳調試工具

我錯過了什麼嗎? JavaScript開發的最佳工具和最佳實踐是什麼?有沒有我不知道的殺手級IDE /調試器/編輯器組合?

不過,它必須比這更容易。

我聽說過一些Eclipse的提及 - 這是一個很好的選擇嗎?我對此知之甚少。

編輯:你們中有些人指出了Firebug的 - 我想我的問題是,我實際上並不使用JavaScript的Web開發針對螢火似乎是工具 - 而不是我用它XULrunner的XUL開發。這可能只是一個弱點或immaturity of xulrunner

回答

14

是的,目前沒有正式的XUL + JS開發調試器。但在我幾年的經歷中,如果沒有它,我可以做得很好。方法如下:

希望科莫多(基於Mozilla的編輯器/ IDE,又開源的最後一年)將最終開發用於調試Mozilla代碼的工具。

7

Firebug在瀏覽器中的JavaScript開發中是無與倫比的。

+0

除了蜻蜓,請檢查出來,如果你能找到它。 – 2008-10-08 10:13:08

4

'alert(x);'是主要的技術太久了。

正如其他人所說,FireBug是進行FireFox調試的方式。

Aptana IDE(基於eclipse)最近在javascript IDE區域中做了一些閃現。

與以前版本相比,Visual Studio 2008包含很多改進的javascript調試功能。

1

每晚構建的WebKit的組合有一些很棒的新調試工具:

http://nightly.webkit.org/

+2

他正在開發xrrrunner應用程序,在那裏你編寫一個「原生」的JavaScript看UI。這是Firefox編寫的內容,但基本上,您不能使用WebKit的調試工具來調試xulrunner中的JavaScript。 – Douglas 2010-05-05 10:31:11

0

我做了很多XUL/JS的發展,我使用的代碼編輯和的Venkman調試的EclipseJSEclipse的組合。讓Venkman與您的XUL應用程序一起工作可能會非常棘手,但這是值得的。

http://developer.mozilla.org/en/Debugging_a_XULRunner_Application有關於在您的應用程序中啓用Venkman的信息。一探究竟;我向你保證,這是值得你花在它上面的時間。

+1

我確實有Venkman的工作,它只是比它可以與IDE集成不太方便。我想知道更多關於如何使用eclipse的信息,如果這樣做的話:http://eclipsexul.sourceforge.net/ – pc1oad1etter 2008-09-18 03:42:03

0

如果你使用SQLite的話,特別是對於FireFox開發,那麼我會建議Firefox Addon「SQLite Manager」。它不僅可以輕鬆讓您在用戶配置文件中查看Firefox存儲的配置文件信息,還可以打開其他SQLite數據庫。很有用。

5

正如我在另一個post中所說的,對我來說,最方便的JavaScript調試工具是Mozrepl。它是一個使用telnet訪問瀏覽器/應用程序實例的Firefox/XULRunner擴展,您可以遠程觀察和操縱應用程序中的所有內容;甚至框架本身。

它作爲一個調試器非常有用(在獨立的XUL應用程序中它是唯一可承受的方式來進行真正的調試),作爲一個工具來玩弄和理解你的應用程序的膽量,它加快了你的XUL Javascript開發時間十倍。

對於可能性的令人印象深刻的演示,請查看this video

1

爲了完整起見,如果您使用的是Mozilla平臺版本< 6.0,Chromebug是一個不錯的選擇。我希望我或其他人有足夠的資金來使它更新。

0

我還沒有做任何XUL開發/調試,但以下是我的Javascript調試/ dev的工具列表。

  • Firebug

  • FireRainbow,FireRainbow使JavaScript語法高亮螢火蟲

  • FirePHP,FirePHP使您可以使用一個簡單的PHP方法調用登錄到您的Firebug的控制檯。

  • Widerbug,可以利用寬屏進行js調試/開發。現在已經過時了,因爲Firebug 1.9支持開箱即用。

6

XULRunner/Firefox現在支持本地遠程調試!你可以使用XULRunner作爲調試器,使用firefox作爲調試器。

Instruction for remote debgging可以在MDN找到。

您必須在調試對象和調試器中將pref devtools.debugger.remote-enabled設置爲true

使用此代碼在您的應用程序:

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); 

如果你的網頁是(X)HTML,與null分配windowtype;如果你的頁面是XUL,分配windowtypexul:window元素的WINDOWTYPE屬性的值相同:

<xul:window windowtype=... > 
... 
</xul:window> 

啓動XULRunner的應用程序,並在Firefox中,轉到工具> Web開發者> ...連接,連接到本地主機,端口6000,你應該能夠調試。