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

时间:2012-07-31 15:23:15

标签: eclipse-plugin jface

我正在通过继承TextEditor来编写自定义Eclipse编辑器,但我无法使用我配置的Format操作。

我在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子类中实现了其他方法,其他所有方法都在我的编辑器中按预期工作(完成,超链接,协调)。

公开格式化程序的首选方法是什么?我还需要做更多其他事情吗?

1 个答案:

答案 0 :(得分:3)

引用Eclipse formatter FAQ

  

最后,您需要创建一个调用格式化程序的操作。   文本基础结构没有定义通用格式化操作,   但是创建自己的一个很容易。行动的运行   方法可以简单地调用源查看器上的以下内容来调用   格式化程序:

     

sourceViewer.doOperation(ISourceViewer.FORMAT);