2

我是 EclipseFP 的开发者之一,它为 Eclipse 提供 Haskell 开发插件。它包含一个调试器,所以我实现了 DebugTarget、StackFrames 等。变量和表达式在调试透视图中工作。但是,添加表达式的唯一方法是通过“表达式”视图中的“添加观察表达式”操作。我希望能够在我的源代码中右键单击并选择 Watch,就像在 Java 中一样。我在运行菜单中看到 Watch 操作被禁用。说“我希望监视操作在我的源代码上工作”的集成点是什么?谢谢!

4

1 回答 1

0

也许回答你自己的问题是不好的形式,但我终于设法实现了我想要的......

看了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 代码的引导下,我有一个系统属性,我的调试目标在挂起时设置它,它反过来启用“显示”操作,向您显示表达式的当前值。

于 2012-10-27T08:54:37.230 回答