User interface improvements in Acceleo 3.1

Posted on in Blog

Three weeks ago, I started to work on some new features for the next release of Acceleo next year. Jonathan and Laurent told me to use Acceleo as a regular user and to find any feature that would be missing. Quickly I had some ideas to improve Acceleo and I started to work on some of them. 

In Acceleo 3, we have a system to report errors to the user with red markers in the editor. Starting with Acceleo 3.1 we will have a support for new markers like warnings or informations such as the green arrow to quickly see if a template overrides another template (if you click on the green arrow, we will open the overridden template in another editor).

override marker

We will also have a support for two new tags in comments “@TODO” and “@FIXME”. Those two new tags will create new tasks in the tasks view just like with the JDT.

We will have a new block for the documentation “[** … /]” because the comment block “[comment  … /]” is a bit too long. With that documentation block, we will have a new refactoring process which will allow us to quickly generate a documentation block by typing Alt+Shift+J on a query, a template, a macro or a module. Just like in the JDT, it will create a documentation block with “@param” tags for each parameters of the selected template or query.

The documentation will be saved in the “emtl” files (Acceleo modules when compiled) and this documentation will be available when the cursor of your mouse is over an element.

Or during the autocompletion.

We will also have an improved outline view with new icons in order to see the visibility of an element and new actions in order to sort elements inside the outline view or to hide non public elements, templates or queries. All imports will be put under an “import declaration” node in the outline view.

Finally we will have a support for deprecated elements with the “@deprecated” tag in documentation blocks. It will create a warning on the deprecated element (a query, a template, a macro, or a module) and if used on a module, all elements of the module will be considered as deprecated.

And the last, but definitely not the least. The AcceleoEditor will have an action to show all the invisible characters that will be generated by Acceleo. If you look carefully, you will see that after the end of the header of the “[for (attribute : EAttribute | e.eAttributes)]” the new line will not generate a new line in the generated file.

You can see most of those improvements in this screenshot and when they will be available (they won’t be all in Acceleo 3.1 M1) don’t hesitate to send us your feedback in the forum or in the bugzilla.