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