Vex: Filtered Content Assist

Vex was created 2002 at SourceForge but in general you don’t notice Vex’s age and its long inactive development. The intuitive concept of editing XML files with a word processor like interface is still up-to-date and liked by both XML experts and non-engineers. After being hijacked by Eclipse Dave made Vex’s data model compatible with that of the Eclipse XML Editor to build a multi-page editor containing both editors as a page each. The switch from the old Eclipse action to the new command framework was also not noticable for Vex users.

But there has always been something that annoyed me: the dialog to add a new element and its twin, the dialog to convert an existing element into another element (keeping all its content). It just didn’t look Eclipse-like:

However, the dialogs could not be replaced by Eclipse common code completion content assists: The text to filter the content of the dialog must go somewhere but, depending on the DTD in XML documents, text (#PCDATA) is not allowed at every position where elements can be added. Thus, a mixture between Content Assist and Quick View was required.

Furthermore, without the window titles the two dialogs are indistinguishable. In the latest integration build of Vex, the Convert Element dialog now has short descriptions like Convert ‘AAA’ to ‘BBB’ instead of the target element names only.

As a side effect, it is now possible to extend the Change Element dialog to a Quick Fix content assist containing actions like Move column left/right or Move block/list element up/down.

In my view, Content Assist and Quick Fix make Eclipse Eclipse-like, don’t they?

One Response to “Vex: Filtered Content Assist”

  1. David Carver Says:

    As Mr. Burns would say….Exceeeeelllent!

    MultiPage editor still has work to do to tie in synchronization between the WTP Dom and the EMF model. That was another change under the covers, Adding EMF to the mix.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: