1

作成した新しいエディターでブレークポイントを切り替えたいです。新しいエディターと新しい LineBreakpoint を実装して実行しています。Ctrl+ Shift+Bまたは Main Menu -> Run -> Toggle Line Breakpointでこれらのブレークポイントを切り替えることができます。カスタム Eclipse アプリケーションの垂直ルーラー バーに、Java エディターでまったく同じトグル動作を追加できるようにしたいと考えています。つまり、ダブルクリックすると、特定の行の位置にブレークポイントが作成/切り替えられます。右クリックすると、トグル ブレークポイント メニュー コンテキストが表示されます (垂直ルーラー バー上)。ライン トグル イメージ ラベルも完成させます。

各メニューとアクションを実装するのではなく、これを行う簡単な方法があると思います。そうでない場合、これらのダブルクリック メニューとコンテキスト メニューをカスタム エディターの垂直ルーラーに追加するにはどうすればよいですか?

4

2 に答える 2

0

私は同じことをすることを検討しています。これまでのところ、AbstractDecoratedTextEditor を拡張すると、これを行うためのプラットフォームが得られることがわかりました。稼働したら更新します。

于 2015-12-16T16:28:41.260 に答える
0

これは古い質問ですが、私はこの問題を抱えていて、これを行いました:

私はエディター (org.eclipse.ui.texteditor.AbstractDecoratedTextEditor) を持っています。このエディター クラスで、次のメソッドを実装しました。

@Override
protected IVerticalRulerColumn createAnnotationRulerColumn(CompositeRuler ruler) {
    AnnotationRulerColumn column = new MyAnnotationRulerColumn(VERTICAL_RULER_WIDTH, getAnnotationAccess(), this);
    return column;
}

クラス MyAnnotationRulerColumn は、次のように考える人もいます。

import org.eclipse.debug.ui.actions.ToggleBreakpointAction;
import org.eclipse.jface.text.source.AnnotationRulerColumn;
import org.eclipse.jface.text.source.IAnnotationAccess;
import org.eclipse.jface.text.source.IVerticalRulerInfo;

public class MyAnnotationRulerColumn extends AnnotationRulerColumn {

    private MyEditor editor;

    public MyAnnotationRulerColumn(int width, IAnnotationAccess annotationAccess, MyEditor part) {
        super(width, annotationAccess);
        this.editor = part;
    }

    @Override
    protected void mouseDoubleClicked(int rulerLine) {
        if (editor != null) {
            IVerticalRulerInfo rulerInfo= (IVerticalRulerInfo) editor.getAdapter(IVerticalRulerInfo.class);
            ToggleBreakpointAction action = new ToggleBreakpointAction(editor, null, rulerInfo);
            action.update();
            action.run();
        }
    }

}
于 2016-09-12T16:10:10.247 に答える