2013-04-15 89 views
1

我想在我創建的新編輯器上切換斷點。我有一個新的編輯器和一個新的LineBreakpoint實施和運行。 >運行 - - >切換行斷點我已經可以用按Ctrl ++或主菜單切換這些斷點。我希望能夠在我的自定義Eclipse應用程序的垂直標尺欄中添加Java編輯器中相同的切換行爲。也就是說,雙擊創建/切換給定線位置的斷點。然後右鍵點擊切換斷點菜單上下文(在垂直標尺欄上)。也完成線切換圖像標籤。在Eclipse RCP中切換自定義編輯器的斷點?

我假設有一個簡單的方法來做到這一點,而不是實現每個菜單和動作。如果不是,我該如何將這些雙擊和上下文菜單添加到自定義編輯器的垂直標尺中?

回答

0

我期待着做同樣的事情。到目前爲止,我發現擴展AbstractDecoratedTextEditor將爲您提供執行此操作的平臺。我將在工作時更新。

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(); 
     } 
    } 

} 
相關問題