Модифицировать AST в режиме плагинов без головы - PullRequest
0 голосов
/ 23 декабря 2018

Я создал плагин в eclipse с поддержкой API cdt, плагин выполняет некоторый рефакторинг кода, и он работает нормально, я хочу расширить этот плагин для работы в режиме без головы, я создал точку входа, которая реализует IApplication, и этоработает нормально, чтобы ввести метод запуска, проблема заключается в применении изменений кода, когда я пытаюсь изменить код

  Change c = rewriter.rewriteAST();
        try {
            c.perform(new NullProgressMonitor());
        } catch (CoreException e) {
            logger.error("Faild to persist changes",e);
        }

, это дает мне исключение говорит Caused by: java.lang.IllegalStateException: Workbench has not been created yet., но это делает рефакторинг кода, мой вопрос делаетChange.perform является частью модуля пользовательского интерфейса, и как избежать этого исключения?Ссылка трассировки полного стека: https://pastebin.com/iiKzvisQ

...