I received a lot of feedback on XUL Explorer. It’s been a great learning experience for me as well. Here is a list of changes:
- Preview tab has been removed. The preview pane now appears below the editor pane. Previewing in a popup window is still available.
- Option to automatically update the preview as the editor changes. (Thanks to Richard Klein)
- Indicator in the statusbar shows errors. Double-click to display Error Console.
- Option to specify the snippet used to load the editor on startup.
- Option to include a user snippet file. The snippets are merged with the builtin snippets at startup.
- File > New allows user to pick any “Template” snippet, as well as blank.
- Simple XUL Checker can be used to ‘validate’ the XUL snippet. This is fairly basic for now: It checks for legal element and attribute names, including allowed attributes for a given element.
- More than a few bug fixes
Here are some things I am considering for the future:
- Support attribute value checking where appropiate (boolean and enumerated values) – XUL Checker
- Support “best practice” checks such as: using of commands and keys, strings in DTDs and so on – XUL Checker
- Multi file support (probably use a tab for each file/editor).
- Venkman support
- Support extension creation – perhaps by using Test mode
Keep the feedback coming!
Install: xulexplorer-setup-0.2.exe 5.7MB
Source: xulexplorer-src-0.2.zip
This is a great tool for XUL developers. I’m pretty excited. ๐
This enhancements are cool ๐
Just a comment : your XUL checker should consider any tags in fact, not only those which are “official”. What about user tags on which an XBL binding is attached ? And what about user attributes on “official” tags ?
So error message generated by your XUL checker shouldn’t be “illegal element” but “unknow element” or “unknow attribute”. In XUL, any tag is allowed ๐
oh, some ideas for the futur :
– drag and drop from snippets to the editor
– for some snippets, when we insert it, a dialog appears to edit some parameters, to fill easely some attributes etc..
– the possibility to create/edit snippets directly into xul explorer
It would be nice if certain features (e.g. “best practices checker”) were nicely factored out so that they could be easily re-used in other settings. Something like (simplifying):
function xulCheck(doc, errorReporter, warningReporter) { … }
xulCheck(
document,
function(node, msg) { dump(‘Error on : ‘ + msg + ‘\n’); },
function(node, msg) { dump(‘Warning on : ‘ + msg + ‘\n’); });
I like Laurentj ideas on improvements. I’ll also add my thoughts on improvements as well.
– when inserting a snippet put the focus inside the editor.
– when the error console is cleared remove the indicator in the statusbar.
– get the view source window working.
another suggestion is to move the help viewing to an external browser. You could do something like:
var url = this.app.getHelpURI(cmd);
var ioService = Components.classes[“@mozilla.org/network/io-service;1”].getService(Components.interfaces.nsIIOService);
var protocolSvc = Components.classes[“@mozilla.org/uriloader/external-protocol-service;1”].getService(Components.interfaces.nsIExternalProtocolService);
var uri = ioService.newURI(url, null, null);
protocolSvc.loadUrl(uri);