【问题标题】:How to remove Startup/Configuration tab from Intellij Plugin extending RunConfigurationBase如何从扩展 RunConfigurationBase 的 Intellij 插件中删除启动/配置选项卡
【发布时间】:2019-04-22 21:28:15
【问题描述】:

我正在创建一个实现自定义运行配置的自定义 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;
    }
}

第一个标签很好(配置)..

但是,我不想在“启动/连接”选项卡上再次列出相同的字段,事实上,我很乐意取消此选项卡 - 或者说真的,我不在乎我要删除哪个选项卡关闭,我只是 希望字段显示一次。

关于如何摆脱这个标签的任何指示?

【问题讨论】:

    标签: intellij-idea intellij-plugin


    【解决方案1】:

    com.intellij.execution.configurations.RunConfiguration#getRunnerSettingsEditor 默认返回null 所以让它保持null,不要覆盖它。

    【讨论】:

    • 不幸的是,这不起作用。我的启动/连接选项卡仍然存在。一开始我并没有覆盖 getRunnerSettingsEditor,但我确实让它返回 null(如果 RunConfigurationBase 是)。我添加了断点以查看我的方法也被调用了。
    • 好的,在你的情况下 com.intellij.execution.runners.ProgramRunner#getSettingsEditor 是什么?它也必须是null
    • 瓦西里 - 是的!谢谢!问题是我的 ProgramRunnerImpl 的 getSettingsEditor() 正在返回我的 SettingsEditor 的一个实例。当返回 null 时,选项卡就会消失!如果您想更新您的答案以包括为 (?) RunConfiguration 和 ProgramRunner 的 getRunnerSettingsEditor() 返回 null,我很乐意投票并标记为正确答案!
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      • 2016-12-15
      • 1970-01-01
      相关资源
      最近更新 更多