如何在eclipse插件中检索工具提示信息?

时间:2011-07-26 13:33:50

标签: java eclipse eclipse-plugin

在eclipse中,如果我们使用我们的鼠标指针聚焦任何变量或实例,我们将收到有关焦点事物的一些信息。是否有可能伪造鼠标移动并在我们自己的插件项目中获取工具提示信息?

如果有可能,请告诉我一些方法来实现它。

提前致谢, Easwar

2 个答案:

答案 0 :(得分:1)

您正在寻找两件作品:

  1. 弄清楚某个地方的东西是什么。为此,您需要调用API方法:org.eclipse.jdt.core.ICodeAssist.codeSelect(int, int)。如果你有一个文件句柄,那么你可以像这样做somthieng:

    IFile file = getFile(); ICompilationUnit unit = JavaCore.create(file); IJavaElement [] elts = unit.codeSelect(start,length);

  2. 然后,一旦拥有了Java元素,就需要从中提取Javadoc信息。这有点不太直接,但您可以查看org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover类,特别是getHoverInfo类。

    如果你只想要javadoc,那么你应该看一下org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2类。

答案 1 :(得分:0)

基本上有两种方法可以在SWT中提供工具提示:

  • 您可以使用control.setToolTipText(text)进行设置。
  • 您可以添加SWT.MouseHower侦听器,并在调用时显示您自己的工具提示信息 - 实际上是什么。 org.eclipse.jface.window.ToolTip使用此方法。

在第一种情况下,您可以使用control.getToolTipText()检索工具提示。在后一种情况下,您无法以编程方式找到文本...它甚至不必是字符串......

您可以首先使用Display.post(Event)定位鼠标,然后使用SWT.MouseMove等待一秒钟,使用Display.timedExec(Runnable)显示上述两种方法的工具提示。