Eclipsing Firefox

Friday April 08th 2005, 4:53 pm Printer Friendly Version
Filed under:Firefox
Posted By: Matt

The other aspect of fixing Firefox is turning it into a world-class IDE (that’s Integrated Development Environment for anyone reading this who isn’t a programmer — hi Mom!). I’ve been using Microsoft’s C/C++ language development tools since the Programmer’s Workbench days (back when I still had hair). Used to be you had a DOS-based environment for debugging Windows applications, and it was all very clunky and weird. Nowadays we’ve got Visual Studio .NET 2003, which is slicker than hell. Editor, debugger, profiler, you name it, all smoothly packaged together with multiple language support, syntax coloring, scriptability, visual makefiles, source control integration… there’s probably even a “kitchen sink” add-on out there somewhere.

When programming for Firefox I use UltraEdit for coding XUL and Javascript: marginal support for syntax coloring, automatic bracketing that doesn’t work quite right, no intellisense and no autocomplete. Then I have to shift over to Firefox, opening up a new window to load the new version of my app, which takes ages since the XUL cache is turned off and I have a million extensions installed. If I want to debug something then I start Venkman, which is impressive for what it does, but can’t compare to an integrated editor/debugger combination. If I find a bug, I switch back to UltraEdit and the whole cycle repeats. Far too much effort for a lazy S.O.B. like yours truly.

Okay, so I’m spoiled, but what I want is Eclipse (IBM’s amazing Java-based IDE), but inside Firefox. So I’m in my browser with the development sidebar open and displaying the full hierarchy of all my project files. I click on a file and it opens inside Firefox’s built-in code editor (were such a beast to exist), checking it out of my source control system if necessary. It’s goes without saying that I need intellisense and autocomplete for all those zillions of XPCOM interfaces. When I save the file the relevant cache is updated accordingly, without having to reload every bloody extension. Want breakpoints? Set them directly in the editor, and when they’re hit, it jumps back into the editor with the debug panes (watch, call stack and so forth) open. Oh, and a wizard for packaging the lot as an XPI and uploading it to my website.

I don’t want to be heavyhanded, but I need this and I need it now. Someone better write it or the cute bunny dies. ‘Nuff said.

[]


8 Comments

  1. Boy - did I get a flush of pride at the “Hi Mom”. Hey I was pretty proud about the Slashdot quote as well. I think I just read your blogs to bask in your brilliance - not because I understand much!

    Comment by Nancy — 4/12/2005 @ 4:19 pm

  2. Re: Eclipsing Firefox

    Matthew Gertner blogs about Eclipsing Firefox. Instead of putting my comments there, I’ll trackback and give a tad more exposure to his post, too. Basically, he votes to create a Eclipse-like IDE within Firefox. While we all agree on the…

    Trackback by maggot brain — 4/12/2005 @ 4:54 pm

  3. Mozilla as IDE

    Matthew Gertner and Axel Hecht are blogging about turning Firefox into an XUL IDE. Or turning Eclipse into an IDE that supports XUL.

    Basically they want tools that support the promise of Mozilla’s XPFE/toolkit. With books like “Creating Applicatio…

    Trackback by Banteng — 4/12/2005 @ 6:43 pm

  4. Wow, this is a really good idea, and the the tabs in firefox would work perfect in it as you could have a mix of URL tabs and code tabs, when you’re viewing a webpage and the break-point is hit, it could whip back to the code tab and show the line, most effective.

    For an IDE like VS.net, that’d be too much to include in Firefox out of the box, and far too much integration for an extension to do it efficiently. Perhaps a special “build” of firefox from the tree that included the functionality.

    Comment by Kroc Camen — 4/12/2005 @ 6:44 pm

  5. Couldn’t agree more. I have recently resurrected the XulApp IDE project (c 2002). XulApp contained a project file explorer and a form designer, plus a few experiments with editors of various kinds. The original project languished due to the number of bugs and NOT_IMPLEMENTED features in Mozilla at that time. After removal of three years of bit rot, the original project is now running again. It is not a usable development environment, but I use the form designer to prototype designs for the next version.

    The original prototype demonstrated that an IDE is possible.

    I have recently started work on a complete redesign along the lines of Eclipse. However, I am not seeking to slavishly copy the Eclipse design.

    I don’t particularly like the monolithic One Form, approach used by Eclipse and Visual Studio .Net. I am designing a Project Explorer more along the lines of Windows™ File Explorer, or TortoiseSVN. This will have the ability to install additional extensions for form design and code editing etc.

    I hope to have a preliminary version of the Project Explorer – minus any tools – uploaded this week.

    Comment by Peter Wilson — 4/27/2005 @ 3:45 pm

  6. Ran across this article while looking for some info on xulrunner. As a response regarding building an IDE in Firefox, we’ve done it with Komodo, which has been built on xpfe (toolkit in upcomming versions) since pre-1.0 mozilla. We use scintilla for the editor component, pluged in via NPAPI. Our primary focus has always been scripting languages, but we do all our xul/xbl/js development in Komodo.

    Regards,
    Shane Caraveo
    Komodo Tech Lead

    Comment by Shane Caraveo — 7/27/2005 @ 7:14 am

  7. Hey Shane (and other Komodoites),
    How about releasing your Scintilla Mozilla plugin open source? It’s not like it’s the Komodo secret sauce or anything! And even if you just threw the code out there, totally unsupported, I think there are a lot of people that would be really interested in working on it!
    –Luke

    Comment by LukeM — 8/29/2005 @ 1:41 am

  8. I’m with LukeM. There needs to be a Scintilla Mozilla plugin (nice ring to it too). I’ve known about the one in Komodo from when I tried an early demo just after its release–which I enjoyed, btw.

    Shane, would ActiveState ever consider doing that? If they don’t have time to support a community, which is understandable, they could release it under the Apache 2.0 license and let it go from there. All parties could then share in the fun both for commercial and open source uses.

    Just an idea.

    Comment by TheIdeaMan — 9/20/2005 @ 9:30 pm

Trackback URL RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

 

AllPeers File Sharing



AddThis Feed Button



Creative Commons License
This work is licensed under a Creative Commons License
Conestoga Street Wordpress Theme by Theron Parlin