2013-04-08 177 views
0

在一个链接的错误的自动处理,我可以提出适当的诊断(说MyDSL.MY_APPROPRIATE_DIAGNOSTIC),然后通过这种方式注释写在MyDSLQuickfixProvider,因为它速战速决:错误/警告

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

如果我想自动解决诊断问题,即自动执行IModification而无需将其提交给用户作为快速修复(想象诊断的快速修复是独特的),那么该怎么办?

有没有办法以类似的方式将(即时)处理代码与诊断进行关联(用户提出的)快速修复?

由于提前, 马尔科

回答

0

没有办法设置为自动执行速战速决。您的选择是:

  • 从代码中的其他位置调用标记解析代码。即虽然标记分辨率通常会根据用户请求使用问题视图,标尺按钮和类似的用户界面明确触发,但您可以从从任何地方调用它们。确保你不会干扰不是来自你的插件的quickfix,并且确保你的用户不会对这个非eclipse工作流感到惊讶。

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

+0

感谢您的回答,Bananeweizen。 :-) – user2258294 2013-04-10 09:26:29

+0

现在我的问题如下:如果我想调用标记解析代码,当提出错误,并在编辑器中相应的源代码加下划线(代替这个),你有任何暗示我在哪里可以挂钩我的自动错误处理代码? – user2258294 2013-04-10 09:30:03