Xtext 2.10 中的自定义悬停

Custom hovering in Xtext 2.10

我将 Xtext 2.10.0.v201605250459Eclipse Neon 4.6.1 一起使用,并希望实现自定义悬停文本,如 this tutorial 中所述。但是它不起作用(没有按预期出现自定义文本,而是 Xtext 框架处理的默认文本)。

我的悬停提供程序实现:

package demo.ui.hover

import org.eclipse.xtext.ui.editor.hover.html.DefaultEObjectHoverProvider
import org.eclipse.emf.ecore.EObject

class DemoEObjectHoverProvider extends DefaultEObjectHoverProvider
{
   override protected getFirstLine(EObject o)
   {
        return "This is some demo text!"
   }
}

我是这样注册的:

/*
 * generated by Xtext 2.10.0
 */
package demo.ui

import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import demo.ui.hover.DemoEObjectHoverProvider

/**
 * Use this class to register components to be used within the Eclipse IDE.
*/
@FinalFieldsConstructor
class DemoUiModule extends AbstractDemoUiModule
{
   def bindIEObjectHoverProvider()
   {
      typeof(DemoEObjectHoverProvider)
   }
}

你能找出其中的错误吗?

你的guice绑定有误

def Class<? extends IEObjectHoverProvider> bindIEObjectHoverProvider() {
    DemoEObjectHoverProvider
}

参见 https://www.eclipse.org/Xtext/documentation/302_configuration.html#dependency-injection 约定