我为自己的 DSL 编写了一个 Eclipse 编辑器。当打开或保存编辑器时,我会检查内容并为任何语法错误创建问题标记。标记按预期显示在我的编辑器中,也在“问题”视图中。
我有一个扩展点org.eclipse.ui.ide.markerResolution
并提供了一个IMarkerResolutionGenerator
为问题标记创建解决方案的实现。这很好用;当我右键单击问题视图中的问题时,快速修复选项会显示在上下文菜单中并且工作正常。
我的编辑器扩展SourceViewerConfiguration
,我覆盖getQuickAssistAssistant()
,返回一个扩展QuickAssistAssistant
。这使我可以右键单击编辑器中的问题并在菜单中查看“快速修复”选项。
当我将鼠标悬停在编辑器中的问题上时,我真的很想获得快速修复解决方案,就像在 java 编辑器中一样。目前只有问题文本出现在工具提示中。是否有一个单独的钩子,或者它是否应该包含在我已经实施的两个快速修复钩子中?