1

我为 Eclipse 编写了自己的文本编辑器插件。我现在正在开发自己的格式化程序。实际上,按照该链接http://wiki.eclipse.org/FAQ_How_do_I_support_formatting_in_my_editor%3F。我已经编写了我的策略,我已经在我的 SourceViewerConfiguration 中覆盖了 getContentFormatter..

当我运行我的插件并按 Ctrl+Shift+F - 并没有任何反应。

我认为我在这里错过了一步。我应该创建一个处理程序还是什么?

谢谢

4

2 回答 2

1

可能是您跳过了链接页面的最后一部分吗?

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

sourceViewer.doOperation(ISourceViewer.FORMAT);
于 2012-11-23T05:43:30.933 回答
1

对我有什么帮助。我创建了一个具有以下执行者主体的处理程序:

//get the editorPart    
if (editorPart != null) {
                ITextOperationTarget target = (ITextOperationTarget) editorPart
                        .getAdapter(ITextOperationTarget.class);
                if (target instanceof ISourceViewer) {
                    ISourceViewer textViewer = (ISourceViewer) target;
                    ((ITextOperationTarget) textViewer)
                            .doOperation(ISourceViewer.FORMAT);
                }
            }

然后只需创建菜单项并将它们绑定到处理程序。

于 2012-12-10T17:53:04.043 回答