【问题标题】:Eclipse Plugin: Highlight Code Line (textmarker while debugging)Eclipse 插件:突出显示代码行(调试时的文本标记)
【发布时间】:2013-08-13 13:32:58
【问题描述】:

请不要将此与“选择代码”混淆,例如用鼠标选择代码。

当我的调试设备遇到断点时,我想突出显示特定的代码行。 我正在使用 CDT 插件。

我已经拿到了lineNumber,我现在只想告诉

editor.highlightLine(lineNumber);

得到这样的东西:

我已经试过了:

      marker = resource.createMarker(IMarker.TEXT);
      marker.setAttribute(IMarker.LINE_NUMBER, 10);
      marker.setAttribute(IMarker.CHAR_START, 0);
      marker.setAttribute(IMarker.CHAR_END, 10);

但是没有用。

由于 Eclipse 和/或 CDT 插件已经提供了预定义的注释,我想重用它们。但是如何在源代码中访问和使用它们呢?

【问题讨论】:

  • 您使用的编辑器是什么?它是默认的eclipse编辑器吗?意味着在您的代码 editor.highlightline(lineNumber); 中,这里的“编辑器”是什么? eclipse 默认编辑器?
  • 我正在使用扩展 TextEditor 的 CDT 插件中的 CEditor
  • 检查 CDT 插件编辑器中是否存在 selectAndReveal(int, int)?这个方法用于在eclipse的TextEditor中高亮一行!!
  • 你检查过你的颜色了吗?它可能在那里但不可见
  • @Lai 如何设置颜色?

标签: java eclipse debugging eclipse-plugin eclipse-cdt


【解决方案1】:

您可以使用扩展点"org.eclipse.core.resources.markers" 并添加"org.eclipse.core.resources.textmarker" 类型的超级属性来创建自己的标记。设置完标记后,您仍然需要通过添加注释扩展点"org.eclipse.ui.editors.annotationTypes" 来描述其外观和感觉

我不太确定您的意图,但此链接可能会有所帮助 http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-plugin-guide/section3.html

【讨论】:

  • 好吧..这对我来说没有意义。如果我不得不重新发明轮子,CDT 插件有什么用?我的意思是..所有这些都在这里,人们可以更轻松地可视化调试过程.. 像突出显示单行这样基本的事情怎么会需要这么多的努力?
【解决方案2】:

标记是你的尺子上的东西。你需要看一下编辑器的背景画。看看InstructionPointerManager.java

【讨论】:

  • 我看到这个类是internal。我想我必须自己写InstructionPointerManager?这看起来很有帮助。如果有效,我不会忘记标记您的答案。
  • 但是您确定没有更简单的方法可以做到这一点,即使我已经在我的 Eclipse 应用程序中使用了 CDT 插件?这个插件应该已经支持这种行为..
  • 我不确定是否有其他更简单的方法。 CDT 有 2 个调试框架(CDI 和 DSF),这个类是 DSF 的一部分。我的理解是,无论何时编写调试器,都需要实现类似的东西。
  • 这里comments.gmane.org/gmane.comp.ide.eclipse.cdt.devel/16070 说,应该使用DSF 方法。但是我用这种方法运行了一些东西eclipse.org/articles/Article-Debugger/how-to.html 似乎没有统一的方法。也许我错了,但我认为社区应该退后一步,重新考虑他们的设计。
猜你喜欢
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 2010-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多