如何在自定义Eclipse编辑器中公开内容格式化程序?

问题描述:

我正在编写一个自定义的Eclipse编辑器,通过继承TextEditor,我不能使用我配置的Format操作。如何在自定义Eclipse编辑器中公开内容格式化程序?

我读了Creating a commercial quality IDE中的3个部分,我知道SourceViewerConfiguration。我实现了所需的方法:

override def getContentFormatter(viewer: ISourceViewer) = { 
    val formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(viewer), IDocument.DEFAULT_CONTENT_TYPE) 
    formatter.setMasterStrategy(new ScalaFormattingStrategy(textEditor)) 
    formatter 
    } 

但是,我无法找到Format菜单,上下文菜单,工具栏等Java的快捷方式(CMD-Shift-F)不起作用或者任何地方。

编辑:我已经在我创建的SourceViewerConfiguration子类中实现了其他方法,并且其他所有方法在我的编辑器(完成,超链接,对帐)中按预期工作。

暴露格式化程序的首选方法是什么?我需要做更多的事吗?

引述Eclipse formatter FAQ

最后,您将需要创建调用格式化的动作。 文本基础结构没有定义通用的格式化操作,但是创建自己的文档非常容易。该操作的run方法 可以简单地调用源代码查看器下面的调用 格式:

sourceViewer.doOperation(ISourceViewer.FORMAT);

+0

非常感谢您的联系!我GOOGLE了很多,但没有发现任何相关的。看起来不错! – 2012-07-31 21:08:11