Xtext——10. Xtext 2.2中的新特性

Xtext 2.2提供了众多的新特性和改进。

  • Xtext方面的改进
  • Xtend方面的改进

Xtext方面的改进

Guava和Inject 3.0

Xtext带有Google Guava 10和Google Guice 3.0。

嵌入式表单编辑器

Xtext编辑器现在可以很方便的嵌入到基于表达的编辑器中。

@Inject EmbeddedEditorFactory factory;

factory.newEditor(resource).
        showErrorAndWarningAnnotations().
        readOnly().
        withParent(aComposite)

Xtend方面的改进

语言改进

构造函数

现在可以在Xtend类中声明构造函数,无需键入过长的类名,通过"New"来声明构造函数。

静态成员方法

成员变量和成员方法可以是static的。尽管不建议使用static,不过在同其他的框架进行集成时,或者实现Java的main函数时会用到。

Field Initializer

现在成员变量可以在一个特定的表达式中进行初始化。需要注意的是,可以通过一个整块来对成员变量进行初始化。

"throws" Clause

定义方法的时候可以抛出异常。不过,因为Xtend中所有的异常都会被视为没有进行检查的,所以不需要对异常进行捕获或对异常进行检查。

工具改进

创建新项目更方便

创建新项目更为方便:

  1. 创建一个Java项目
  2. 通过"New..." "Xtend Class"来创建一个新的Xtend类
  3. 在Xtend类中,通过快速修复来向类路径中添加Xtend库
"Run as ..."

通过"Run As ..."和"Debug As ..."菜单以及键盘快捷键,可以将Xtend文件作为Java Application、JUnit Test、Junit Plut-In Test来运行。

Maven支持

可以独立编译Xtend,无需Eclipse,而且还有对其支持的Maven。同事,在Maven的配置库中含有Xtend的标准库。 更多»

<build>
    <plugins>
        <plugin>
            <groupId>org.eclipse.xtend2</groupId>
            <artifactId>xtend-maven-plugin</artifactId>
            <version>2.2.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
类型层次结构

JDT的类型层次结构对Xtend的类同样有效。在下面的截图中,可以看到混合了Java和Xtend类的继承层次结构。

快速修正
"Implement Members"

在某个Xtend类扩展了一个抽象类或者实现了一个接口,可以通过快速修复来创建相应的需要实现的方法。

Xtend库

Xtend含有一些小规模的库,可以用于预定义的容器中。可以通过快速修复很方便的在项目的类路径中添加该库。 可以在Maven配置库中看到该库:更多»

[转载请标明出处 http://blog.csdn.net/donhao/article/details/7197597]

原文地址:http://www.eclipse.org/Xtext/releasenotes/2.2.0/new_and_noteworthy.php#Xtend

你可能感兴趣的:(Xtext——10. Xtext 2.2中的新特性)