我正在通过继承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
子类中实现了其他方法,其他所有方法都在我的编辑器中按预期工作(完成,超链接,协调)。
公开格式化程序的首选方法是什么?我还需要做更多其他事情吗?
答案 0 :(得分:3)
最后,您需要创建一个调用格式化程序的操作。 文本基础结构没有定义通用格式化操作, 但是创建自己的一个很容易。行动的运行 方法可以简单地调用源查看器上的以下内容来调用 格式化程序:
sourceViewer.doOperation(ISourceViewer.FORMAT);