Intellij idea 使用IntelliJ SDK创建自定义运行配置并在启动前添加生成任务部分

Intellij idea 使用IntelliJ SDK创建自定义运行配置并在启动前添加生成任务部分,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,我将遵循IntelliJ IDEA SDK一节中的教程 在本教程之后,我将获得一个新的配置面板,其中有一个空的“启动前”部分。默认情况下会添加该部分 我希望在默认情况下指定一些目标,即至少在几个插件中指定构建目标(参见下图) 我试图了解如何进行,但我找不到任何关于此的示例或文档。如何添加默认的build任务? 您的运行配置(示例中为DemoRunConfiguration)应实现RunProfileWithCompileBeforeLaunchOption。这个接口没有提供任何方法来实现,所

我将遵循IntelliJ IDEA SDK一节中的教程

在本教程之后,我将获得一个新的配置面板,其中有一个空的“启动前”部分。默认情况下会添加该部分

我希望在默认情况下指定一些目标,即至少在几个插件中指定构建目标(参见下图)

我试图了解如何进行,但我找不到任何关于此的示例或文档。

如何添加默认的
build
任务? 您的运行配置(示例中为
DemoRunConfiguration
)应实现
RunProfileWithCompileBeforeLaunchOption
。这个接口没有提供任何方法来实现,所以这是一种标记<代码>生成任务将自动添加,无需其他步骤

如何在启动前将自己的任务添加到
部分?
您的
plugin.xml
应该包含一行
stepsbeforexprovider

<stepsBeforeRunProvider implementation="com.MyBeforeRunProvider" id="myBeforeRun"/>

为此,应使用“运行前任务”创建“运行前提供程序”

公共类BeforeRunProvider扩展BeforeRunTaskProvider{
@凌驾
公钥getId(){
return Key.create(“ThisIsId”);
}
@凌驾
公共字符串getName(){
返回“好名字”;
}
@凌驾
公共字符串getDescription(MyBeforeRunTask任务){
返回“描述”;
}
@可空
@凌驾
公共图标getIcon(){
返回AllIcons.Actions.Compile;
}
@可空
@凌驾
公共MyBeforeRunTask createTask(@NotNull RunConfiguration RunConfiguration){
返回新的MyBeforeRunTask(getId());
}
@凌驾
公共布尔executeTask(@NotNull DataContext DataContext、@NotNull RunConfiguration RunConfiguration、@NotNull ExecutionEnvironment ExecutionEnvironment、@NotNull MyBeforeRunTask MyBeforeRunTask){
返回true;
}
}
任务是:

public class MyBeforeRunTask extends BeforeRunTask<MyBeforeRunTask> {

    protected MyBeforeRunTask(@NotNull Key<MyBeforeRunTask> providerId) {
        super(providerId);
        setEnabled(true);
    }
}
公共类MyBeforeRunTask扩展BeforeRunTask{
受保护的MyBeforeRunTask(@NotNull Key providerId){
超级(providerId);
setEnabled(真);
}
}
public class MyBeforeRunTask extends BeforeRunTask<MyBeforeRunTask> {

    protected MyBeforeRunTask(@NotNull Key<MyBeforeRunTask> providerId) {
        super(providerId);
        setEnabled(true);
    }
}