4

如何通过命令在 RCP 应用程序中打开启动配置对话框(例如在项目上按 mouse_right - 运行方式 - 运行配置)?或任何其他方式,但首选命令。

4

2 回答 2

7

如果您ALT+SHIFT+F1在“创建、管理和运行配置”中键入“”,插件 Spy会告诉您它是LaunchConfigurationsDialog

在 Eclipse 源代码中快速搜索表明它是通过DebugUITools.openLaunchConfigurationDialogOnGroup()

     final int[] result = new int[1];
         Runnable JavaDoc r = new Runnable JavaDoc() {
             /**
              * @see java.lang.Runnable#run()
              */
             public void run() {
                 LaunchConfigurationsDialog dialog = (LaunchConfigurationsDialog) LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog();
                 if (dialog != null) {
                     dialog.setInitialSelection(selection);
                     dialog.doInitialTreeSelection();
                     if (status != null) {
                         dialog.handleStatus(status);
                     }
                     result[0] = Window.OK;
                 } else {
                     dialog = new LaunchConfigurationsDialog(shell, DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier));
                     dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION);
                     dialog.setInitialSelection(selection);
                     dialog.setInitialStatus(status);
                     result[0] = dialog.open();
                 }
             }
         };
         BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
         return result[0];

这应该给你足够的材料来开始。


(来源:eclipse.org

于 2009-03-23T05:06:16.083 回答
4

根据 VonC 的回答,我执行了以下操作,其中config只是我的ILaunchConfigurationWorkingCopyandmode的实例"run"

DebugUITools.openLaunchConfigurationDialog(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                config,
                DebugUITools.getLaunchGroup(savedConfig, mode).getIdentifier(),
                null);
于 2012-12-11T12:43:18.700 回答