我是Eclipsefp的开发人员之一,它为Eclipse提供了Haskell开发插件。它包含一个调试器,因此我已经实现了DebugTarget,StackFrames等。变量和表达式在调试角度工作。但是,添加表达式的唯一方法是通过"表达式"视图中的添加手表表达操作。我希望能够右键单击我的源代码中,然后选择手表,就像我在Java中一样。我在运行菜单中看到了手表动作。说"我希望手表动作能够在我的源代码上使用"的集成点是什么?谢谢!
也许回答您自己的问题是不好的,但是我终于设法实现了我想要的东西...
查看JDT代码后,似乎没有明确的入口点。我已经创建了普通的编辑器操作,并且在调试表达式视图中添加新表达式的代码是:
IWatchExpression expression= DebugPlugin.getDefault().getExpressionManager().newWatchExpression(snippet);
DebugPlugin.getDefault().getExpressionManager().addExpression(expression);
IAdaptable object = DebugUITools.getDebugContext();
IDebugElement context= null;
if (object instanceof IDebugElement) {
context= (IDebugElement) object;
} else if (object instanceof ILaunch) {
context= ((ILaunch) object).getDebugTarget();
}
expression.setExpressionContext(context);
遵循JDT代码的引线,我有一个系统属性,我的调试目标设置在悬挂时设置,从而启用了"显示"操作,该操作显示了表达式的当前值。