Java Eclipse中的自动编译

Java Eclipse中的自动编译,java,eclipse-plugin,Java,Eclipse Plugin,我正在为类似Java的自定义语言创建一个Eclipse插件。目前,我制作了一个编译器插件(与eclipse.jdt.core相同),并从中创建了jar文件。我还为我的项目创建了自定义特性,这些特性将用该语言编写。有没有一种方法可以像Java项目那样自动构建这个项目?我想以某种方式将我的编译器插件与我的项目类型关联起来 通过添加这个编译器插件,我实现了代码完成、语法突出显示,并且我可以编译项目,但我似乎找不到使其自动编译的选项。我所说的自动编译是指每当文件被更改时,它都会将其重新编译为bin目录中

我正在为类似Java的自定义语言创建一个Eclipse插件。目前,我制作了一个编译器插件(与eclipse.jdt.core相同),并从中创建了jar文件。我还为我的项目创建了自定义特性,这些特性将用该语言编写。有没有一种方法可以像Java项目那样自动构建这个项目?我想以某种方式将我的编译器插件与我的项目类型关联起来


通过添加这个编译器插件,我实现了代码完成、语法突出显示,并且我可以编译项目,但我似乎找不到使其自动编译的选项。我所说的自动编译是指每当文件被更改时,它都会将其重新编译为bin目录中的.class文件。

使用
org.eclipse.core.resources.builders
扩展点来定义增量生成器。当Eclipse认为需要构建项目时(例如,当资源发生变化时),将调用构建器。这是JDT生成器声明:


生成器代码扩展了增量项目生成器,在大纲中如下所示:

public class builder示例扩展了IncrementalProjectBuilder
{
IProject[]构建(int-kind、Map-args、IProgressMonitor)
抛出CoreException
{
//在此处添加构建逻辑
返回null;
}
受保护的无效startupOnInitialize()
{
//在此处添加生成器初始化逻辑
}
受保护的空隙清理(IProgressMonitor)
{
//在此处添加生成器清理逻辑
}
}

每个项目都有一个与之关联的生成器列表(存储在
.project
文件中)。您可以使用
IProjectDescription
setBuildSpec
调用添加生成器。这通常是在向项目添加自然时完成的。比如:

stringbuilderID=。。。您的生成器id
IProject项目=。。。项目
IProjectDescription description=project.getDescription();
ICommand[]oldBuildSpec=description.getBuildSpec();
//待办事项检查尚未出现
ICommand newCommand=description.newCommand();
newCommand.setBuilderName(builderID);
//在所有现有构建器之后添加API构建规范
ICommand[]新命令=新ICommand[长度+1];
System.arraycopy(oldBuildSpec,0,新命令,0,长度);
新命令[长度]=新命令;
//将规范更改提交到项目中
说明.立根规范(新命令);
project.setDescription(description,null);
另请参见Eclipse帮助中的