自动处理错误/警告

时间:2013-04-08 15:41:44

标签: eclipse xtext

在链接错误上,我可以提出适当的诊断(比如MyDSL.MY_APPROPRIATE_DIAGNOSTIC),然后在MyDSLQuickfixProvider中通过以这种方式注释来快速修复它:

@Fix(MyDSL.MY_APPROPRIATE_DIAGNOSTIC)
public void fixMyAppropriateDiagnostic(final Issue issue, final IssueResolutionAcceptor acceptor) {
  ...
}

如果我想自动解析诊断,即自动执行IModification而不建议用户快速修复(假设诊断的快速修复是唯一的),该怎么办?

有没有办法将(即时)处理代码与诊断关联起来的方式与(用户建议的)快速修复方式类似?

提前致谢, 马可

1 个答案:

答案 0 :(得分:0)

无法设置快速修复以自动执行。您的替代方案是:

  • 从代码中的其他位置调用标记解析代码。即虽然标记分辨率通常使用问题视图,标尺按钮和类似UI在用户请求中显式触发,但您可以从任何地方调用它们。请确保您不会干扰不是来自插件的快速修正,并确保您的用户不会对此非日食工作流程感到惊讶。

  • 对于某些问题,您可以改为创建代码完成规则或模板。根据要求,这些仍然不是完全自动的,但基本上你已经可以通过这种方式“纠正”部分用户输入并避免标记完整输入的违规。