Также опубликовано в сообществе IntelliJ.
Короче говоря, я хочу создать экземпляр конфигурации запуска (а не моё собственное создание, в частности Mocha) программно на основе EditorPopupMenu действие. (Для контекста позже я хочу иметь возможность добавить действие перед запуском и запустить его).
Я создал пустую конфигурацию через
ConfigurationType type = ConfigurationTypeUtil.findConfigurationType("mocha-javascript-test-runner");
ConfigurationFactory[] factories = type.getConfigurationFactories();
RunnerAndConfigurationSettings racs = runManager.createConfiguration("testConfig", factories[0]);
, но я ' Я не уверен, как заполнять поля настроек, которые вы обычно делаете через пользовательский интерфейс. Я видел страницу SettingsEditor, на которую ссылаются документы SDK, но, похоже, это только пользовательский интерфейс. Остальная часть документации по конфигурациям запуска сосредоточена на создании ваших собственных, а не на манипулировании существующими программными средствами.
В отладчике я вижу, что объект MochaRunSettings существует со всеми полями, которые мне нужны, но я не делаю увидеть метод для доступа к нему. Я также не знаю, как создать его вручную или превратить его в объект RunnerAndConfigurationSettings, если бы я мог это сделать.
Точно так же почти все, что я хочу настроить, я думаю, может быть сделано с использованием ConfigurationContext, подобного нажимая кнопку запуска в канаве. Я сделал
ConfigurationContext cc = new ConfigurationContext(e.getData(LangDataKeys.PSI_ELEMENT));
, но, кажется, у меня не так много информации, когда я проверяю его в отладчике, и я не уверен, какой метод мне нужен, чтобы превратить его в настоящий объект RunnerAndConfigurationSettings.
Может быть, я тоже просто придерживаюсь совершенно неправильного подхода?
Спасибо за любые советы, которые есть у кого-либо.
Бонусный вопрос: Как вы программно запускаете конфигурацию RunnerAndConfigurationSettings, чтобы фактически запустить, как будто вы нажали на это / Shift + F10?