将光标置于Eclipse中的窗口中心?

时间:2012-02-01 00:02:19

标签: eclipse

这只是我之前在编辑器中所做的那些小事之一,这让我在Eclipse中完全疯了。我希望能够将光标跳到窗口的最中心线。我这样做 not 意味着“Recnter”命令,它将光标留在原处,并使其所在的中心居中。我想将光标本身移动到一个新行,即当前位于窗口中间的行。可以吗?

1 个答案:

答案 0 :(得分:0)

这是执行此操作的处理程序execute()方法的代码。它可以很容易地通过plugin.xml文件连接到命令和绑定。

public Object execute(ExecutionEvent event) throws ExecutionException {
  IEditorPart editorPart = HandlerUtil.getActiveEditorChecked(event);
  ITextOperationTarget target = (ITextOperationTarget) editorPart
      .getAdapter(ITextOperationTarget.class);
  if (!(target instanceof ITextViewer)) return null;
  ITextViewer textViewer = (ITextViewer) target;
  int topIndex = textViewer.getTopIndex();
  int bottomIndex = textViewer.getBottomIndex();
  int middle = (topIndex + bottomIndex) / 2;
  IDocument doc = textViewer.getDocument();
  try {
    IRegion widgetLineInformation = doc.getLineInformation(middle);
    int widgetOffset = widgetLineInformation.getOffset();
    textViewer.getTextWidget().setSelection(widgetOffset);
  } catch (BadLocationException e) {
    return null;
  }
  return null;
}