Eclipse RCP - Как открыть диалог запуска конфигурации - PullRequest
4 голосов
/ 22 марта 2009

Как открыть диалоговое окно «Запуск конфигурации» (например, при нажатии мыши_право на конфигурации проекта - запустить как - запустить) в приложении RCP с помощью команды? или любым другим способом, но команда предпочтительнее.

Ответы [ 2 ]

7 голосов
/ 23 марта 2009

Если вы введете «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];

Это должно дать вам достаточно материала, чтобы начать.

image
(source: eclipse.org )

4 голосов
/ 11 декабря 2012

Основываясь на ответе VonC, я сделал следующее, где config - это мой экземпляр ILaunchConfigurationWorkingCopy, а mode - "run":

DebugUITools.openLaunchConfigurationDialog(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
                config,
                DebugUITools.getLaunchGroup(savedConfig, mode).getIdentifier(),
                null);
...