Jump to: navigation, search

Xpand/New And Noteworthy

Version 0.8.0

Incremental Generation



Xpand provides profiler facilities by defining a profiling component. An example workflow using the profiler is shiped with the generator sample project (generatorWithProfiler.mwe).



A lot of enhancements are done for the Xpand editors.

  1. The navigation of the Xpand editors is improved by more specific navigation proposals
  2. Extension imports are now hyperlinks to the extension files
  3. The Xpand project wizard allows a more detailed project configuration
  4. A lot of other enchantments like markers for missing/not existing metamodels

Further improvements

  1. ONFILECLOSE: The ONFILECLOSE keyword is added to the EXPAND statement and allows a derefered evaluation of the EXAND statement. The evaluation of the EXPAND statement is defefered until the FILE statement is closed.
  2. Java extensions: Since Xpand 0.8.0 non-static Java method can be called from Xtend.

Version 0.7.0


The 0.7.0 version of the Xpand component from M2T is the first official Eclipse release of it. Xpand is a statically typed template language, featuring polymorphic dispatch, extensions and an open pluggable type system. It comes with Eclipse-based IDE support.

Xpand has previously been a part of openArchitectureWare and is used in many big projects and also shipped with some commercial products.


For the 0.7.0 release, the team has done some major performance improvements. Not only the runtime is up to 60% faster but due to aggressive caching we were able to improve the performance of the static analysis in the IDE about 400%.

IDE features

As this is the first release at Eclipse, some of the UI-features are outlined here.

File decorations

When you open Eclipse and import a project into the workspace you can see several file decorating images.


There are specific images for

  • Xpand2 templates (.xpt extension)
  • Extension files (.ext extension)
  • Check constraints (.chk extension)


When you double-click on one of the above mentioned file types, special editors will open that provide appropriate syntax coloring. Syntax coloring

Here are examples for the Xpand editor:


for the Extensions editor:


and for Check editor:


Code completion

The Editors provide extensive code completion support by pressing Ctrl + Space similar to what is known from the Java editor. Available types, properties, and operation, as well as extensions from .ext files will be found. The Xpand editor provides additionally support for the Xpand language statements. Xpand tag delimiter creation support.


In the Xpand editor there is an additional keystroke available to create the opening and closing tag brackets, the guillemets ("«" and "»").

Ctrl + < creates "«"


Ctrl + > creates "»"