I'm tracking the ideas here: http://youtrack.jetbrains.net/issue/IDEA-61000
I would definitely appreciate your feedback and votes.
I really think XML writing and editing for any XML-based markup could get a significant productivity boost from a few simple ideas:
1. Treating nodes/attributes/values more like templates:
To start editing the next attribute, why should I have to hit the right arrow and then space if the next attribute is always one space after the current end quote?
The basic idea would look like this (this video is faked using a live template, but it could still be optimized):
2. Allowing for auto-completion within other nodes without typing "<":
Why should I ever need to type a "<" or a "/>" if I know they're always required?
"zen coding" takes care of most of this feature, but wouldn't it be great if we had auto-complete in "zen coding" so you didn't have to create and memorize all the template abbreviations?
Also, once you've "zen"-generated a node, it should switch back to idea #1 for creating attributes like a template.
3. Quickly jumping between attribute values
Shouldn't there be an easy way to jump to the next/previous attribute value? Once you've finished creating your nodes and attributes, you should still be able to jump back through the attribute values and edit them again.
I think we need a shortcut to jump to the next/prev attribute value (which also selects the entire value). It would almost being like filling out a template after the template was already created (but this would be focused on editing attributes values rather than generating new attributes)
I understand that these 3 ideas would get in the way of writing actual content between nodes, so I'm proposing that we could have a keyboard shortcut (like ctrl+<) to toggle between "node mode" (which encapsulates these 3 ideas) and "regular mode" (which is how XML is currently edited). So none of these features would be triggered until you explicitly toggled into "node mode" (because IntelliJ should never interfere with basic typing or force a user to use its shortcuts).