Eclipse插件如何获取当前文本编辑器的光标位置

5

我想在编辑器中光标所在的位置显示弹出对话框。如何获取活动编辑器的文本光标位置(Point)并在此点处显示弹出对话框?

2个回答

2
我不确定您在“在这一点上显示弹出对话框”下的确切意思,但可以尝试以下操作:
IEditorPart editor =  PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (editor instanceof ITextEditor) {
  ISelectionProvider selectionProvider = ((ITextEditor)editor).getSelectionProvider();
  ISelection selection = selectionProvider.getSelection();
  if (selection instanceof ITextSelection) {
    ITextSelection textSelection = (ITextSelection)selection;
    int offset = textSelection.getOffset(); // etc.
  }
}

当然,在生产代码中要进行空值检查等操作。

我需要一个(X,Y)点(以像素为单位)来显示弹出对话框,并且我想像代码完成弹出窗口一样在文本光标下方显示它。在您的代码中,您可以获取符号中的文本偏移量,如何将此偏移量转换为像素点。或者可能存在另一种方法来在文本光标下方显示弹出窗口? - user196036

-1

1
但是那个方法是受保护的。怎么调用它呢? - Lii
1
它不仅受到保护,而且还返回一个字符串“光标位置的描述”,这根本不是 OP 所要求的。 - Amos M. Carpenter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接