以编程方式从新文件向导触发Eclipse的代码格式化程序

时间:2012-01-19 09:51:29

标签: eclipse-plugin formatting xtext

我正在编写一个带有向导(org.eclipse.jface.wizard.Wizard)的Eclipse插件,该向导使用基本代码模板创建一个新文件。为了简化文件内容的“拼凑”,我计划将所有内容填充到一个长字符串中,将其插入到文件中,然后调用我的自定义Formatter(继承org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter)来清理所有缩进等等上。

问题是,如何以编程方式调用格式化程序? 在向导中,我调用IDE.openEditor()并返回IEditorPart的句柄。我能从这里做些什么?

1 个答案:

答案 0 :(得分:5)

好吧,我找到了答案:

IEditorPart editor = IDE.openEditor(page, file, true);
XtextEditor xed = (XtextEditor)editor;
((SourceViewer)xed.getInternalSourceViewer()).doOperation(ISourceViewer.FORMAT);

也许这会帮助其他人寻找类似的东西!