我在自定义快速修复方面遇到了麻烦,我想在我的 Eclipse 插件中提供这些,我希望在 Eclipse PDE 方面比我更有经验的人能在这个问题上给我一些提示。
据我了解,我可以通过扩展扩展点org.eclipse.ui.ide.markerResolution为特定标记 id提供自定义所谓的“快速修复”(或“解决方案”,在 Eclipse 内部术语中),例如例如一些默认的 Eclipse 标记org.eclipse.core.resources.problemmarker。
这对我来说适用于默认标记类型和自定义标记类型,但是:我的IMarkerResolutionGenerator提供的 QuickFixes 只能从“问题”视图访问,而不是从我的标记显示的编辑器中访问。
我所拥有的:我在默认文本编辑器中创建标记,这会导致 (1) 带有标记工具提示消息的图标显示在左侧编辑器标尺上,标记被分配到该行,(2) 上的标记编辑器的右侧,(3)编辑器中的一些带下划线的字符,以及(4)“问题”视图中的条目。
我想要什么:就像在 Java IDE 支持中一样,我想按 Strg+1,或 Context-Menu->Quick Fix,或单击左侧标尺上的错误图标,以查看可用的快速修复并选择一个。
但是:只有在问题视图中,我才能通过按 Strg+1 或从上下文菜单中获得快速修复。
这是正常行为吗?我是否必须访问另一个扩展点或特定的编辑器功能才能将我的快速修复程序连接到它们中?我没有找到任何关于它的详细信息,除了每个人似乎都对我上面提到的这个唯一的扩展点很满意。我错过了什么?
为了完成,这是我的扩展点定义:
<extension point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="com.markers.test.MarkerResolutionGenerator"
markerType="org.eclipse.core.resources.problemmarker">
</markerResolutionGenerator>
</extension>