如何从Intellij插件中删除Startup / Configuration选项卡,扩展RunConfigurationBase

时间:2019-04-22 21:28:16

标签: intellij-idea intellij-plugin

我正在创建一个实现自定义运行配置的自定义IntelliJ插件(在IntelliJ tutorial之后)。我的插件将在远程服务器上的编辑器中“运行”打开文件的内容,并将结果显示在IntelliJ中(类似于脚本游乐场)。我使用IntelliJ GUI设计器创建了表单,该表单显示在“编辑运行配置”中,但是显示在2个选项卡(“配置”和“启动/配置”)下。.我都未明确定义这两个选项卡,我认为它们来自于我的扩展的RunConfigurationBase?。

public class RunConfigurationImpl extends RunConfigurationBase {

    public RunConfigurationImpl(Project project, ConfigurationFactory factory, String name) {
        super(project, factory, name);
    }

    @NotNull
    @Override
    public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
        return new SettingsEditorImpl();
    }

    @Nullable
    @Override
    public SettingsEditor<ConfigurationPerRunnerSettings> getRunnerSettingsEditor(ProgramRunner runner) {
        return null;
    }

    @Override
    public void checkConfiguration() throws RuntimeConfigurationException {
    }

    @Nullable
    @Override
    public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment executionEnvironment) throws ExecutionException {
        return null;
    }
}

第一个选项卡正常(配置).. enter image description here

但是,我不想在“启动/连接”选项卡上再次列出相同的字段,实际上,我很乐意取消使用该选项卡-或实际上,我不在乎我摆脱了哪个选项卡关闭,我只是 希望这些字段显示一次。

有关如何摆脱此标签的任何指针?

enter image description here

2 个答案:

答案 0 :(得分:0)

请参见com.intellij.execution.configurations.RunConfiguration#getRunnerSettingsEditor,默认情况下它将返回null,因此请使其停留在null,不要覆盖它。

答案 1 :(得分:0)

这是Vassiliy的回答和随后的评论的合并。

为了在自定义运行配置UI中删除“启动/连接”选项卡,请确保从方法getRunnerSettingsEditor()自定义扩展了com.intellij.execution.configurations.RunConfigurationcom.intellij.execution.runners.ProgramRunner的类中返回null。 / p>

默认情况下,API抽象类为这些方法返回null,因此请确保您未覆盖它们。