Intellij idea 如何从扩展RunConfigurationBase的Intellij插件中删除启动/配置选项卡

Intellij idea 如何从扩展RunConfigurationBase的Intellij插件中删除启动/配置选项卡,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,我正在创建一个自定义IntelliJ插件(遵循)来实现自定义运行配置。我的插件将在远程服务器上的编辑器中“运行”打开文件的内容,并以IntelliJ(类似于脚本)显示结果。我使用IntelliJ GUI设计器创建表单,它显示在编辑运行配置中,但它显示在两个选项卡(配置和启动/配置)下。。这两个我都没有明确定义,我假设它们来自于我对RunConfigurationBase?的扩展 public class RunConfigurationImpl extends RunConfigurationB

我正在创建一个自定义IntelliJ插件(遵循)来实现自定义运行配置。我的插件将在远程服务器上的编辑器中“运行”打开文件的内容,并以IntelliJ(类似于脚本)显示结果。我使用IntelliJ GUI设计器创建表单,它显示在编辑运行配置中,但它显示在两个选项卡(配置和启动/配置)下。。这两个我都没有明确定义,我假设它们来自于我对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;
    }
}
公共类RunConfigurationMPL扩展了RunConfigurationBase{
公共RunConfigurationMPL(项目、配置工厂、字符串名称){
超级(项目、工厂、名称);
}
@NotNull
@凌驾

公共设置编辑器请参见
com.intellij.execution.configurations.RunConfiguration#getRunnerSettingsEditor
它默认返回
null
,因此让它保持
null
,不要覆盖它。

请参见
com.intellij.execution.configurations.RunConfiguration#getRunnerSettingsEditor
它通过默认设置,所以让它保持为空,不要覆盖它。

这是Vassiliy的答案和随后的评论的综合

要删除自定义运行配置UI中的启动/连接选项卡,请确保从扩展
com.intellij.execution.configurations.RunConfiguration
com.intellij.execution.runners.ProgramRunner

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

这是Vassiliy的答案和随后的注释的综合

要删除自定义运行配置UI中的启动/连接选项卡,请确保从扩展
com.intellij.execution.configurations.RunConfiguration
com.intellij.execution.runners.ProgramRunner


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

不幸的是,这并没有起到作用。我的启动/连接选项卡仍然在那里。首先,我没有覆盖getRunnerSettingsEditor,但我确实用它返回null(如果RunConfigurationBase是)。我添加了断点以查看我的方法是否也被调用。好的,com.intellij.execution.runners.ProgramRunner#getSettingsEditor在您的情况下是什么?它也必须是
null
。Vassiliy-是的!谢谢!问题是我的ProgramRunneImpl的getSettingsEditor()正在返回我的SettingsEditor的一个实例。如果返回null,则该选项卡将消失!如果要更新您的答案,以包括(?)RunConfiguration和ProgramRunner的getRunnerSettingsEditor()的返回null,我很高兴投票并将其标记为正确答案!不幸的是,这不起作用。我的“启动/连接”选项卡仍然在那里。首先,我没有重写getRunnerSettingsEditor,但我确实将其返回null(如果RunConfigurationBase为空)。我添加了断点以查看我的方法是否也被调用。好的,com.intellij.execution.runners.ProgramRunner#getSettingsEditor在您的情况下是什么?它也必须是
null
。Vassiliy-是的!谢谢!问题是我的ProgramRunneImpl的getSettingsEditor()正在返回我的SettingsEditor的一个实例。当返回null时,该选项卡将消失!如果您希望更新您的答案,使(?)RunConfiguration和ProgramRunner的getRunnerSettingsEditor()都包含返回null,我很乐意投票并标记为正确答案!