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

How to remove Startup/Configuration tab from Intellij Plugin extending RunConfigurationBase

我正在创建一个实现自定义 运行 配置的自定义 IntelliJ 插件(在 IntelliJ tutorial 之后)。我的插件将 "run" 在远程服务器上的编辑器中打开文件的内容,并在 IntelliJ(类似于脚本游乐场)中显示结果。我使用 IntelliJ GUI Designer 创建表单,它显示在编辑 运行 配置中,但是它显示在 2 个选项卡下(配置和 Startup/Configuration).. 我都没有明确定义,我假设它们来自我对 运行ConfigurationBase?.

的扩展
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;
    }
}

第一个选项卡很好(配置)..

但是我不想在 Startup/Connection 选项卡上再次列出相同的字段,事实上,我很乐意取消这个选项卡——或者说真的,我不在乎哪个选项卡我摆脱掉,我只是 希望字段显示一次。

关于如何删除此选项卡的任何指示?

请参阅 com.intellij.execution.configurations.RunConfiguration#getRunnerSettingsEditor 默认情况下 returns null 所以让它保留 null,不要覆盖它。

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

为了删除自定义 运行 配置 UI 中的 Startup/Connection 选项卡,请确保从方法 return 中编辑 null getRunnerSettingsEditor()自定义扩展 com.intellij.execution.configurations.RunConfigurationcom.intellij.execution.runners.ProgramRunner

的 类

默认情况下,这些方法的 API 抽象 类 return 为 null,因此请确保您没有覆盖它们。