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

来源:互联网 发布:博洋软件 编辑:程序博客网 时间:2024/05/23 07:25

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

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

Xtext方面的改进

Guava和Inject 3.0

Xtext带有Google Guava 10和Google Guice 3.0。

Embedding Xbase - Xtext editor嵌入式表单编辑器

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

@Inject EmbeddedEditorFactory factory;factory.newEditor(resource).        showErrorAndWarningAnnotations().        readOnly().        withParent(aComposite)

Xtend方面的改进

语言改进

构造函数

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

Xtend - Constructors静态成员方法

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

Xtend - Static MembersField Initializer

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

Xtend - Member Field Initializers

"throws" Clause

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

Xtend - Member Field Initializers

工具改进

创建新项目更方便

创建新项目更为方便:

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

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

Xtend - Run as Java Application
Xtend - Run as JUnit ApplicationMaven支持

可以独立编译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类的继承层次结构。

Xtend - Type Hierarchy快速修正
"Implement Members"

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

Xtend - Member Field InitializersXtend库

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

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

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

原创粉丝点击