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

Eclipse plugin Eclipse插件如何获取当前文本编辑器光标位置,eclipse-plugin,text-editor,cursor-position,Eclipse Plugin,Text Editor,Cursor Position,我尝试在编辑器的文本光标位置显示弹出对话框。如何获取活动编辑器(点)的文本光标的像素位置以及此时的显示弹出对话框?您可以使用getCursorPosition()方法我不确定“此时显示弹出对话框”下的确切含义,但请执行以下操作: IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (editor instanceof ITe

我尝试在编辑器的文本光标位置显示弹出对话框。如何获取活动编辑器(点)的文本光标的像素位置以及此时的显示弹出对话框?

您可以使用
getCursorPosition()
方法我不确定“此时显示弹出对话框”下的确切含义,但请执行以下操作:

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)点(以像素为单位)来显示弹出对话框,我想在文本光标下显示它,就像代码完成弹出窗口一样。在您的代码中,您可以获得符号中的文本偏移量,以及如何将此偏移量转换为像素点。或者可能存在另一种在文本光标下显示弹出窗口的方式?但该方法受保护。如何调用它呢?它不仅受到保护,还返回一个字符串“光标位置的描述”,这根本不是OP所要求的。