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 に答える