我已经在eclipse中创建了一个支持cdt api的插件,该插件进行了一些代码重构,并且工作正常,我想扩展此插件以使其以无头模式运行,我创建了一个实现IApplication的入口点可以很好地输入start方法,问题出在我尝试修改代码时应用代码更改
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是否属于UI模块,如何避免这种异常?
完整的堆栈跟踪链接:https://pastebin.com/iiKzvisQ